通过observer加入到zone2

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】
【问题描述】清晰明确描述问题
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)

各位大佬好,向大家请教一个 OceanBase 集群扩容的问题,折腾了很久没解决,恳请赐教!

问题现象

  • 现有节点 192.168.20.98 已部署在 zone1,状态正常;
  • 想将新节点 192.168.20.99 作为 zone2 加入集群,始终失败;
  • 若将 99 节点初始化时指定 zone1,执行添加命令也指定 zone1,则能成功加入。
  1. 98 节点现状(查询结果):
    obclient(root@sys)[oceanbase]> SELECT SVR_IP, SVR_PORT, ZONE, STATUS FROM oceanbase.DBA_OB_SERVERS;
    ±--------------±---------±------±-------+
    | SVR_IP | SVR_PORT | ZONE | STATUS |
    ±--------------±---------±------±-------+
    | 192.168.20.98 | 2882 | zone1 | ACTIVE |
    ±--------------±---------±------±-------+
    1 row in set (0.005 sec)

  2. 99 节点初始化命令:
    /root/.obd/repository/oceanbase-ce/4.3.5.5/12ac22c631939f39afa740881a3c2512e162feb7/bin/observer
    -i ens33
    -p 2881
    -P 2882
    -n jiff
    -c 5555
    -d /d99/oceanbase-ce/store/jiff
    -r ‘192.168.20.98:2882:2881;192.168.20.99:2882:2881’
    -z zone2
    -o “__min_full_resource_pool_memory=1073741824,enable_syslog_wf=False,max_syslog_file_count=5,memory_limit=6G,system_memory=1G,cpu_count=4,datafile_size=10G,datafile_maxsize=5G,datafile_next=2G,log_disk_size=5G,enable_record_trace_log=False,enable_syslog_recycle=1”

  3. 在 98 节点执行添加命令及报错:
    obclient(root@sys)[oceanbase]> ALTER SYSTEM ADD SERVER ‘192.168.20.99:2882’ ZONE ‘zone2’;
    ERROR 4530 (HY000): Zone info not exist
    obclient(root@sys)[oceanbase]> ALTER SYSTEM ADD SERVER ‘192.168.20.99:2882’ ZONE ‘zone2’;
    ERROR 4179 (HY000): add non-empty server “192.168.20.99:2882” not allowed

同样的操作流程,仅将 zone 从 zone1 改为 zone2 就失败,先后报 “Zone info not exist” 和 “add non-empty server not allowed”,想请教大家这两个报错的原因,以及 zone2 节点无法加入的解决思路,谢谢!

3 个赞

得先添加Zone啊,你这是黑屏操作啊,为啥不用OCP呢,黑屏操作也是可以的

我就算在98里先创建zone2,然后再执行增加zone2命令也不行呀。。

  1. 添加zone
  2. 99 这一台你通过命令行启动的? 有没有添加租户信息或数据
    可以参考一下这个操作
    单机扩展分布式部署实践-数据库技术博客-OceanBase分布式数据库

大家同学们, 已解决。