prodcd
2024 年12 月 6 日 17:23
#1
【 使用环境 】测试环境 anolis 8.9
【 OB or 其他组件 】ocp-all-in-one-4.3.2-20241012145836.el7.x86_64.tar.gz
oceanbase-ce-libs-4.2.1.8-108000022024072217.el7.x86_64.rpm
oceanbase-ce-4.2.1.8-108000022024072217.el7.x86_64.rpm
【 使用版本 】
【问题描述】我想添加observer到集群,但不重启集群
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
我尝试添加新的observer到集群。根据文档https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218350尝试执行命令:
obclient -h172.17.202.235 -P2881 -uroot@sys -ppassword -A
obclient [(none)]> USE oceanbase;
Database changed
obclient [oceanbase]> ALTER SYSTEM ADD SERVER '172.17.202.238:2882' ZONE 'zone1';
ERROR 1235 (0A000): Not supported feature or function
172.17.202.238:2882是默认的RPC端口,telnet可以通。是不是登录的方式有问题?是否需要USE oceanbase?
我还尝试了通过obd命令添加observer,可以添加,期间数据库会断开几分钟,生产环境无法承受。
obd cluster edit-config <clustername>
obd cluster redeploy <clustername>
论坛小助手
2024 年12 月 6 日 17:24
#3
根据文档库中的信息,您可以不重启集群来添加 OBServer 节点。以下是具体步骤:
通过 OCP 添加 OBServer 节点
登录 OCP :
进入集群管理页面 :
在左侧导航栏单击 集群 ,系统默认进入 集群列表 页签。
选择待操作的集群 :
进入集群概览页面 :
选择需要添加 OBServer 节点的 Zone :
选择一个需要添加 OBServer 节点的 Zone,在对应的 操作 列中,单击 添加 OBServer 。
配置 OBServer 信息 :
在 OBServer 信息 区域,选择机型和 OBServer 节点所在的主机,并配置 OBServer 启动参数。
默认只添加一个 OBServer 节点,如果需要添加多个 OBServer 节点,您可以在下方单击 新增 OBServer 按钮。
关于 OBServer 启动参数的详情说明,可参见 OceanBase 配置项 。
完成添加 :
注意事项
主机选择 :仅可选择匹配当前集群硬件架构的主机。
磁盘配置 :生产环境下,OceanBase 数据库建议 OBServer 的日志盘空间为主机内存空间的三倍以及以上;同时,为了避免出现性能问题,不建议数据目录和日志目录挂载在同一块磁盘上。
通过 obclient
添加 OBServer 节点
根据您提供的信息,您在使用 obclient
添加 OBServer 节点时遇到了错误 ERROR 1235 (0A000): Not supported feature or function
。这可能是由于您使用的 OceanBase 版本不支持该功能。建议您检查当前使用的 OceanBase 版本是否支持 ALTER SYSTEM ADD SERVER
命令。
通过 obd
添加 OBServer 节点
您提到通过 obd
命令添加 OBServer 节点时,数据库会断开几分钟。这是因为在重新部署集群时,obd
会重启集群中的部分服务,导致短暂的中断。为了减少中断时间,您可以尝试以下步骤:
编辑集群配置 :
obd cluster edit-config <clustername>
添加新的 OBServer 节点 :
重新部署集群 :
obd cluster redeploy <clustername>
总结
推荐使用 OCP 添加 OBServer 节点 ,因为 OCP 提供了图形化界面,操作更加直观和方便。
如果必须使用 obclient
或 obd
,请确保使用的 OceanBase 版本支持相关功能 ,并尽量减少重新部署时的中断时间。
希望这些信息对您有所帮助!如果还有其他问题,请随时联系 OceanBase 的人工答疑以获取更多帮助。
更多信息请查看:
ob_mem_assigned_percent_over_threshold OB 已经分配给租户的内存占比超限
告警预案处理
ob_cluster_exists_inactive_server OB 集群存在不工作 OBServer 节点
添加 OBServer 节点
OBProxy 常见问题
os_observer_core_dump OBserver Core Dump
OCP V4.0.2
4000 ~ 4499
ob_error
清理旧集群
0001 ~ 3999
使用 OBD 部署 OBAgent
辞霜
2024 年12 月 6 日 17:33
#4
这个提前启动需添加的节点了么
obd那种方法你应该是使用错误了,redeploy是重新部署集群! 生产不要进行该操作
辞霜
2024 年12 月 6 日 17:38
#5