暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

利用OBD搭建OceanBase 3.x集群

原创 王毅斌 2023-07-11
565

一、环境规划
环境:配置8c24g或以上,在一台CentOS主机,搭建OceanBase 3.x集群。每个OBServer进程需要分配8G或以上内存,否则可能会出现异常。

具体配置如下所示:

主机名      IP             端口           Zone
obs    192.168.8.175  2881/3881/4881   zone1/2/3
dobpxy 192.168.8.175  2883/3883/4883   zone1/2/3


二、初始化准备
1.安装自动化部署工具(手动配置可以不安装)

rpm -ivh t-oceanbase-antman-1.4.1-1936487.alios7.x86_64.rpm

2.操作系统内核配置

cd /root/t-oceanbase-antman/clonescritpts
./clone.sh -r ob -c

手动配置可以参考如下:

#sysctl for oceanbase
net.core.somaxconn = 2048
net.core.netdev_max_backlog = 10000
net.core.rmem_default = 16777216
net.core.wmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216

net.ipv4.ip_local_port_range = 3500 65535
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
net.ipv4.tcp_slow_start_after_idle=0
fs.aio-max-nr = 1048576

vm.swappiness = 0
kernel.core_pattern = /data/1/core-%e-%p-%t
vm.min_free_kbytes = 2097152

3.安装依赖包

./clone.sh -r ob -m

手动安装包参考如下:

expect-5.45-14.el7_1.x86_64
mariadb-5.5.68-1.el7.x86_64
mariadb-devel-5.5.68-1.el7.x86_64
python-devel-2.7.5-93.el7_9.x86_64
1:openssl-devel-1.0.2k-26.el7_9.x86_64
gcc-4.8.5-44.el7.x86_64
gcc-gfortran-4.8.5-44.el7.x86_64
gcc-c++-4.8.5-44.el7.x86_64
python-setuptools-0.9.8-7.el7.noarch
bc-1.06.95-13.el7.x86_64
net-tools-2.0-0.25.20131004git.el7.x86_64
mtr-0.85-7.el7.x86_64
ntp-4.2.6p5-29.el7.centos.2.x86_64
bind-utils-9.11.4-26.P2.el7_9.13.x86_64
libaio-0.3.109-13.el7.x86_64
zlib-devel-1.2.7-21.el7_9.x86_64
curl-7.29.0-59.el7_9.1.x86_64
libcurl-7.29.0-59.el7_9.1.x86_64
python-pip
libffi-3.0.13-19.el7.x86_64
libffi-devel-3.0.13-19.el7.x86_64
libatomic-4.8.5-44.el7.x86_64
MySQL-python-1.2.5-1.el7.x86_64
make-3.82-24.el7.x86_64
nmap-ncat-6.40-19.el7.x86_64
bridge-utils-1.5-9.el7.x86_64
iproute-4.11.0-30.el7.x86_64
fio-3.7-2.el7.x86_64
tsar-2.1.66-1.5923e46.el7.x86_64

4.配置NTP时钟同步(单机部署无需配置)

vi ntp.conf

restrict 192.168.8.0 mask 255.255.255.0 nomodify
server 127.127.1.0
fudge 127.127.1.0 stratum 10

三、安装集群
1.安装OBD
# 安装OBD

rpm -ivh ob-deploy-xxx.rpm

# 加载环境变量

source /etc/profile.d/obd.sh

2.设置yaml的配置文件

cat > /tmp/obd_observer_obproxy.yaml <<"EOF"
user:
    username: admin
    password: admin123
####################    下面是 observer搭建参数  ##############################
oceanbase-ce:
  servers:
    - name: ob1
      ip: 127.0.0.1
    - name: ob2
      ip: 127.0.0.1
    - name: ob3
      ip: 127.0.0.1
  global:
    devname: lo
    memory_limit: 8G
    system_memory: 2G
    sys_bkgd_migration_retry_num: 5
    stack_size: 512K
    cpu_count: 8
    cache_wash_threshold: 1G
    __min_full_resource_pool_memory: 1073741824
    workers_per_cpu_quota: 4
    net_thread_count: 4
    datafile_size: 30G
    cluster_id: 1
    cluster: obdemo
    appname: obdemo
    root_password: admin123
    proxyro_password: admin123
  ###下面设置节点信息
  ob1:
    zone: zone1
    mysql_port: 2881
    rpc_port: 2882
    home_path: /home/admin/oceanbase/1
    data_dir: /data/1
  ob2:
    zone: zone2
    mysql_port: 3881
    rpc_port: 3882
    home_path: /home/admin/oceanbase/2
    data_dir: /data/2
  ob3:
    zone: zone3
    mysql_port: 4881
    rpc_port: 4882
    home_path: /home/admin/oceanbase/3
    data_dir: /data/3
########################## 以下是obrpoxy的 搭建参数 ######################
obproxy-ce:
  depends:
    - oceanbase-ce
  servers:
    - name: obproxy1
      ip: 127.0.0.1
    - name: obproxy2
      ip: 127.0.0.1
    - name: obproxy3
      ip: 127.0.0.1
  global:
    rs_list: 127.0.0.1:2881;127.0.0.1:3881;127.0.0.1:4881
    cluster_name: obdemo
    enable_cluster_checkout: false
    skip_proxy_sys_private_check: true
    enable_strict_kernel_release: false
    obproxy_sys_password: admin123
    observer_sys_password: admin123
  obproxy1:
    listen_port: 2883
    prometheus_listen_port: 2884
    home_path: /home/admin/obproxy/1
  obproxy2:
    listen_port: 3883
    prometheus_listen_port: 3884
    home_path: /home/admin/obproxy/2
  obproxy3:
    listen_port: 4883
    prometheus_listen_port: 4884
    home_path: /home/admin/obproxy/3
EOF

3.配置本地镜像仓库
#使用 obd mirror 关闭obd远程仓

obd mirror disable remote

#使用 obd mirror 加载OB 与OBproxy 的安装介质

obd mirror clone /tmp/oceanbase-xxxx.rpm
obd mirror clone /tmp/obproxy-xxxxx.rpm

4.使用OBD初始化集群(admin用户)
#部署集群软件
用法:obd cluster deploy [集群名] -c 集群配置文件

obd cluster deploy obdemo -c /tmp/obd_observer_obproxy.yaml -f

#启动及初始化集群

obd cluster start obdemo

#连接OB

mysql -uroot@sys#obdemo -padmin123 -P2883 -h127.0.0.1 -c -A oceanbase
最后修改时间:2023-07-11 11:23:59
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论