一.主机规划

Host NameIP address用途
deploy192.168.8.110中控机
observer1192.168.8.111OCP,OBProxy,observer1
observer2192.168.8.112observer2
observer3192.168.8.113observer3

二.前期准备工作

手里有两台主机,在其中一台创建一个虚拟机当做主中控机部署,另外一台创建三个虚拟机,用于部署observer1-3,同时observer都在一个机子上还有一个好处就是不用部署ntp 服务来同步时间。

1.中控机准备工作

我这边选择的是在线部署,参考官网在主控机上安装all-in-one。

OceanBase 从 V4.0.0 开始提供统一的安装包 all-in-one package。您可以通过这个统一的安装包一次性完成 OBD、OceanBase 数据库、ODP、OBAgent、Grafana、Prometheus 和 OCP Express(自 V4.1.0 起支持)的安装。

bash -c "$(curl -s https://obbusiness-private.oss-cn-shanghai.aliyuncs.com/download-center/opensource/oceanbase-all-in-one/installer.sh)"
source ~/.oceanbase-all-in-one/bin/env.sh

由于是学习使用,没有创建用户与规划磁盘,如果是其他用途,需要创建admin用户并且规划磁盘,至此主控机无需更多操作。

2.observer1-3准备工作

以下操作需要三个节点全部执行:

(1),配置 limits.conf
vi /etc/security/limits.conf
root soft nofile 655350
root hard nofile 655350
* soft nofile 655350
* hard nofile 655350
* soft stack unlimited
* hard stack unlimited
* soft nproc 655360
* hard nproc 655360
* soft core unlimited
* hard core unlimited

修改完毕后,重新打开会话 ulimit -a 后显示如下:

(2),配置 sysctl.conf
vi /etc/sysctl.conf
#for oceanbase
#修改内核异步 I/O 限制
fs.aio-max-nr=1048576

#网络优化
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 = 1 
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 = 1 
net.ipv4.tcp_slow_start_after_idle=0

vm.swappiness = 0
vm.min_free_kbytes = 2097152
fs.file-max = 6573688

#修改进程可以拥有的虚拟内存区域数量
vm.max_map_count = 655360

#此处为 OceanBase 数据库的 data 目录
kernel.core_pattern = /data/core-%e-%p-%t

修改生效:

sysctl -p

(3),防火墙 ——必须关闭,不然会导致安装失败后 observer.log一直刷新不报错,要仔细检查。
systemctl disable firewalld 
systemctl stop firewalld
systemctl status firewalld

(4),关闭SELINUX
vi /etc/selinux/config
SELINUX=disabled
setenforce 0

三,使用obd白屏部署OceanBase集群

obd web

打开这个网站。

选择OceanBase 及配套工具。

1.部署配置如下:

2.节点配置如下:

部署用户配置需要三个节点root用户密码相同,如果是admin用户,需要admin用户相同,如果配置了免密,则无需输入。

3.集群配置如下:

如果需要自己指定参数,则选择更多配置。

4.预检查如下:

我这里已经安装成功了,所以他的失败项是端口已经使用比较常见的错误是

时钟未同步:需要ntp等时钟同步服务。

内存较小:适当增大内存。

还有一些参数类,需要检查一下observer节点的/etc/limits.conf文件或者/etc/security/sysctl.conf是否配置正确。

预检查通过后,部署ob集群,成功如图。

四,部署失败排查错误

去observer节点查看日志文件:

cat /root/myoceanbase/oceanbase/log/observer.log

一般里面会有error日志。

去主控节点查看集群配置:

obd cluster edit-config myoceanbase

配置如下:

Logo

了解最新的技术洞察和前沿趋势,参与 OceanBase 定期举办的线下活动,与行业开发者互动交流

更多推荐