oceanbase部署三节点集群步骤,及注意事项

【 使用环境 】测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】oceanbase部署三节点集群步骤,及注意事项
【复现路径】问题出现前后相关操作

1 个赞

服务器配置注意事项

  1. 操作系统
  • 建议使用:CentOS 7.6 及以上,或兼容的 RedHat/Anolis/AlmaLinux。
  • 禁用 swap(swapoff -a,并注释 /etc/fstab 中的 swap 分区)。
  1. 内存
  • 单节点建议最少 64GB RAM,生产环境推荐 128GB 以上
  1. CPU
  • 至少 16核,生产环境建议 32核以上
  1. 磁盘
  • 磁盘类型:SSD 或 NVMe。
  • 数据盘:每节点至少 1TB,生产环境建议根据数据量和副本数量进行容量规划。
  • 日志盘:单独的 SSD 磁盘(减少写放大影响)。
  1. 网络
  • 至少 10Gbps,以保证 OBServer 之间的心跳和数据同步。
  1. 内核参数调优(部分关键项):
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag

# 文件句柄限制
ulimit -n 655350

# /etc/sysctl.conf 中添加
net.core.somaxconn = 2048
net.ipv4.tcp_max_syn_backlog = 4096
vm.swappiness = 0

三节点 OceanBase 4.x 集群部署步骤

:one: 规划集群

节点 IP地址 角色 端口范围(默认)
1 192.168.0.101 OBServer 2881(SQL),2882(RPC)
2 192.168.0.102 OBServer 2881,2882
3 192.168.0.103 OBServer 2881,2882

:two: 安装 OceanBase 软件

OceanBase 4.x 提供官方二进制包或 yum 源(推荐用 yum 源):

bash

CopyEdit

# 1. 安装 yum 源
wget https://mirrors.oceanbase.com/oceanbase/oceanbase.repo -O /etc/yum.repos.d/oceanbase.repo

# 2. 安装 OBServer 和 OBClient
yum install -y ob-deploy obclient oceanbase-ce

:three: 创建 obproxy (可选)

三节点通常先部署 OBServer,后期再安装 OBProxy。

:four: 配置 obdeploy 工具

OceanBase 官方提供 obdeploy 工具(即 ob-deploy),用于自动化部署。
在一个节点(管理机)上配置免密到三台机器(或在每台机器上本地部署)。

示例:

bash

# 配置免密(在管理机上)
ssh-copy-id root@192.168.0.101
ssh-copy-id root@192.168.0.102
ssh-copy-id root@192.168.0.103

:five: 初始化集群部署配置

使用 obdeploy 初始化配置:

bash

obd cluster edit obcluster

填入以下内容:

yaml

CopyEdit

# obcluster.yaml 配置示例
oceanbase-ce:
  servers:
    - 192.168.0.101
    - 192.168.0.102
    - 192.168.0.103
  global:
    cluster_id: 1
    devname: eth0         # 根据实际网卡
    home_path: /data/ob  # 数据目录
    mysql_port: 2881
    rpc_port: 2882
    zone: zone1
    datafile_size: 100G
    log_disk_size: 50G
    memory_limit: 32G     # 单节点分配内存

:six: 部署集群

bash

CopyEdit

# 部署 OceanBase 集群
obd cluster deploy obcluster -c obcluster.yaml

# 启动集群
obd cluster start obcluster

:seven: 验证集群状态

bash

CopyEdit

obd cluster list
obd cluster display obcluster

或者使用 obclient 登录:

bash

obclient -h 192.168.0.101 -P 2881 -u root@sys -p

执行:

sql

CopyEdit

select * from oceanbase.__all_virtual_server;

检查三节点状态是否为 ACTIVE

:eight: 后续配置:创建租户等

进入 obclient 后:

sql

CopyEdit

-- 创建租户
create resource unit unit_test max_cpu=4, memory_size='10G', max_iops=10000, max_disk_size='100G';
create resource pool pool_test unit='unit_test', unit_num=1;
create tenant test_tenant resource_pool_list=('pool_test'), charset='utf8mb4', zone_list=('zone1');

生产环境注意事项

备份和高可用
OceanBase 4.x 支持多副本。确保三台机器位于不同可用区(或机柜)以避免单点故障。

监控与告警
使用 OCP(OceanBase 云管平台)或集成 Prometheus/Grafana,监控慢查询、CPU、内存和磁盘使用情况。

滚动升级
OceanBase 支持平滑滚动升级,生产环境中使用 obd cluster upgrade

##总结

以上就是 OceanBase 4.x 三节点集群 的详细部署步骤和服务器配置注意事项。如果需要我帮你生成一个完整的 obcluster.yaml 文件,或者结合你现有服务器规格进一步优化参数,请告诉我! :rocket:

3 个赞

谢谢

详细