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 个赞

谢谢

详细

@论坛小助手

根据文档库中的信息,以下是 OceanBase 部署三节点集群的步骤及注意事项,适用于测试环境:

一、部署三节点集群的步骤

1. 环境准备

  • 硬件资源:确保有三台机器可用,每台机器的配置建议不低于 4C8G。
  • 网络配置:确保三台机器之间可以互相通信,且网络延迟较低(同城三机房场景下,机房间网络延迟一般在 0.5 ~ 2 ms)。
  • 软件依赖
    • 安装必要的系统依赖包。
    • 确保已安装 MySQL 客户端或 OBClient,用于后续连接 OceanBase 集群。

2. 部署工具选择

  • 推荐使用 obd 工具进行集群的部署和管理。obd 提供了包管理器、压测软件、集群管理等常用的运维能力,能够简化部署流程。

3. 使用 obd 部署集群

  • 参考文档通过 obd 部署集群
  • 具体步骤
    1. 在中控节点上安装 obd 工具。
    2. 配置 obd 的镜像源,确保能够下载到所需的 OceanBase 软件包。
    3. 编写集群拓扑配置文件,定义三台机器的角色和分区(Zone)。例如:
      cluster_name: my_cluster
      servers:
        - name: server1
          ip: 10.10.10.1
          zone: zone1
        - name: server2
          ip: 10.10.10.2
          zone: zone2
        - name: server3
          ip: 10.10.10.3
          zone: zone3
      
    4. 使用以下命令部署集群:
      obd cluster deploy my_cluster -c cluster_config.yaml
      
    5. 启动集群:
      obd cluster start my_cluster
      

4. 验证集群状态

  • 连接到 OceanBase 集群,检查集群的状态是否正常:
    SHOW FULL COLUMNS FROM __all_server;
    
  • 确保三台机器上的 OBServer 节点均已启动,并且每个 Zone 至少有一个副本。

二、注意事项

  1. 网络延迟

    • 如果是同城三机房部署,确保机房间的网络延迟在 0.5 ~ 2 ms 之间,以保证 Paxos 协议的高效运行。
  2. 数据一致性

    • 三节点集群采用三副本模式,确保在单个节点故障时,剩余两个节点仍能构成多数派,保证 RPO=0。
  3. 资源配置

    • 每台机器的 CPU、内存和存储空间需满足最低要求(至少 4C8G 和足够的存储空间)。
    • 中控节点对服务器配置要求不高,但建议不低于 4C8G。
  4. 版本兼容性

    • 确保使用的 obd 版本与 OceanBase 数据库版本兼容。
  5. 日志检查

    • 部署过程中如遇问题,可通过查看 obd 日志文件定位问题。
  6. 备份恢复

    • 部署完成后,建议配置定期备份策略,确保数据安全。

三、总结

通过上述步骤,您可以顺利完成 OceanBase 三节点集群的部署。测试环境中,建议重点关注网络延迟和资源配置,确保集群的稳定性和性能。如果需要进一步调整或扩展集群,可以参考 添加节点 文档进行操作。

详情请参考:

  1. 部署 OceanBase 集群
  2. 单机在线转分布式部署
  3. 快速体验 OceanBase 社区版
  4. OceanBase 集群高可用部署方案简介
  5. 部署生产环境
  6. 添加节点
  7. 启动 OceanBase 集群
  8. 在 Kubernetes 环境中部署 OceanBase 集群