利用Docker搭建OceanBase 3.1.1社区版的集群

0    675    4

Tags:

👉 本文共约2100个字,系统预计阅读时间或需8分钟。

参考:https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.1/deploy-the-distributed-oceanbase-cluster

环境规划

环境是这样的,只有一台虚拟机,配置16c80G,准备使用docker来模拟出4台CentOS主机,搭建OceanBase 3.1.1社区版的集群。OBServer每台至少需要8G内存,否则不能启动。

具体配置如下所示:

主机名IP端口主机映射端口Zone作用
lhrob1172.72.8.11288128811zone1OB Server1
lhrob2172.72.8.12288128812zone2OB Server2
lhrob3172.72.8.13288128813zone3OB Server3
lhrobproxy172.72.8.14288328814用于OBD、OBProxy、OBClient、mysql客户端、时间服务器等

初始化准备

申请环境

配置时钟源

参考:https://open.oceanbase.com/docs/community/oceanbase-database/V3.1.1/optional-configuring-clock-sources

如果您使用集群安装 OceanBase,则需要保证集群内各机器的时间同步。否则集群无法启动,服务在运行时也会出现异常。如果您已配置 NTP 时钟同步,则无需重新配置。

OceanBase 集群中的服务器时间必须保持一致,否则会导致 OceanBase 集群无法启动,运行时也会出现故障。物理机与时钟服务器的误差在 50ms 以下可认为时钟是同步状态,OceanBase 集群最大容忍误差不能超过 100ms。当超过 100ms 时,会出现无主情况。恢复时钟同步后。重启 OceanBase 集群, 可以恢复正常。

部署 OceanBase 集群时,各个 OBServer 的 RPC 允许的时钟偏差最大是100ms。

这里以“172.72.8.14”为时间服务器,其它3台OBServer同步该机器的时间:

1、修改“172.72.8.14”为时间服务器/etc/ntp.conf

配置开机启动:

其它客户端,修改“/etc/ntp.conf”,注释server开头的行,并添加如下行:

配置开机启动:

客户端配置自动同步:

配置内核参数

4个节点都运行:

如果只是测试,您可以只设置 fs.aio-max-nr=1048576

创建用户

设置无密码SSH登陆

可以使用rac上的sshUserSetup.sh快速配置,只在lhrobproxy上运行:

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复