【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】社区版OCP4.3.0
【 使用版本 】社区版OCP4.3.0
【问题描述】OCP与metadb在同一个主机上,目前主机压力很大,想把ocp和metadb拆分到不同主机上。可以将当前的ocp清楚掉,之后在另一台机器上部署OCP,选择已有的OB作为metadb(也就是之前的metadb),这种方法可以吗
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!
论坛小助手
#3
您的问题描述非常清晰,根据您的描述,您希望将现有的 OCP 和 metadb 拆分到不同的主机上以缓解当前主机的压力。您提出的方法是清除当前的 OCP,并在另一台机器上重新部署 OCP,选择已有的 OB 作为 metadb(即之前的 metadb)。以下是针对您的问题的详细解答:
拆分步骤
-
卸载现有 OCP 和 MetaDB
- 在执行任何拆分操作之前,确保备份所有重要的数据和配置文件。
- 使用
obd
工具卸载现有的 OCP 和 MetaDB 集群。 [5]
# 卸载 OCP
obd cluster destroy <OCP name>
# 卸载 MetaDB 集群
obd cluster destroy <MetaDB name>
- 替换
<OCP name>
和 <MetaDB name>
为您实际使用的名称。
-
验证 MetaDB 集群的状态
- 在卸载 MetaDB 集群之前,确保该 MetaDB 集群已不再被其他业务所使用。
-
重新部署 OCP
- 在新的主机上重新部署 OCP,并指定现有的 OB 作为 MetaDB。 [1]
## set environment parameters
export OCP_CPU_COUNT=4
export OCP_MEMORY_GB=8
export OCP_METADB_HOST=xxx.xxx.xxx.xxx # 新的 MetaDB 主机地址
export OCP_METADB_PORT=2881
export OCP_METADB_DBNAME=ocp_meta
export OCP_METADB_USER=root@ocp_meta
export OCP_METADB_PASSWORD=ocp_meta_password
export OCP_CONFIG_PROPERTIES=`cat << EOF
server.port:8080
ocp.site.url:http://xxx.xxx.xxx.xxx:8080
obsdk.ob.connection.mode:direct
EOF
`
# start ocp container
docker run -d --name ocp-421 \
--network host \
--cpu-period 100000 --cpu-quota ${OCP_CPU_COUNT}00000 --memory=${OCP_MEMORY_GB}G \
-e OCP_METADB_HOST="${OCP_METADB_HOST}" \
-e OCP_METADB_PORT="${OCP_METADB_PORT}" \
-e OCP_METADB_DBNAME="${OCP_METADB_DBNAME}" \
-e OCP_METADB_USER="${OCP_METADB_USER}" \
-e OCP_METADB_PASSWORD="${OCP_METADB_PASSWORD}" \
-e OCP_CONFIG_PROPERTIES="${OCP_CONFIG_PROPERTIES}" \
oceanbase/ocp-ce:4.2.1
-
验证新部署的 OCP
- 在新主机上启动 OCP 容器后,通过浏览器访问
http://<new_ocp_host>:8080
来验证 OCP 是否正常工作。
- 检查 OCP 是否能够成功连接到新的 MetaDB。
注意事项
-
容器命名:确保新部署的 OCP 容器名称与旧容器名称不同,否则可能会导致启动失败。 [1]
-
资源分配:根据新的主机资源情况调整
OCP_CPU_COUNT
和 OCP_MEMORY_GB
参数。
-
网络配置:确保新主机与 MetaDB 之间网络畅通,且 MetaDB 的监听端口(默认为 2881)对外开放。
通过以上步骤,您可以将 OCP 与 MetaDB 成功拆分到不同的主机上,从而缓解当前主机的压力。如果您在操作过程中遇到任何问题,建议联系 OceanBase 的技术支持获取进一步的帮助。
检索到的文档如下:
- 使用容器升级 OCP
- 主机资源
- 主机规划
- OCP V4.0.1
- 卸载 OCP
- OCP V4.0.2
- OCP V4.0.3
旭辉
#4
可以参考下小助手的回复,销毁原ocp,在新机器上使用docker容器方式部署ocp,指定为原metadb数据库
旭辉
#5
或者参考下这个帖子
将yaml文件备份后,修改ocp-server为新节点ip 再执行obd cluster reinstall xxx -c OCP-Server -s
高可用ocp-server-ce故障恢复方式 - #6,来自 bbq1gov53t_gaMTIwMjU5NTAzNC4xNzE0OTc1MTY1_ga_T35KTM57DZ*MTcyODYyNDgxNS4yNTMuMS4xNzI4NjQyNTY2LjUzLjAuMA…