ob单zone扩容问题扩容问题

【 使用环境 】生产环境 or 测试环境
【 OB or 其他组件 】
【 使用版本 】4.3.5.x
【问题描述】单zone扩容问题,看了资料可以用obshell,obd,或者其他命令;问题是:1 新增节点是不是规格要和zone的一模一样 2 我看操作是不是要新机器先安装ob,但是如果用obd或者ocp装的话,他其实是全家桶安装,安装后自己有zone。肯定没法被老的zone扩容吸收吧。 这里感觉没有讲的很清楚,这个前置需要怎么弄。
【复现路径】问题出现前后相关操作
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):

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

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

根据您的问题,看起来您在尝试对现有 OceanBase 集群进行单 Zone 扩容时遇到了一些挑战。虽然您的问题更多地涉及到部署和配置层面,而不是直接的故障诊断或性能问题,但仍然可以使用 obdiag 来验证集群状态和检查任何可能的配置问题。

根据您的问题,这里是一些建议:

新增节点的规格

  1. 新增节点的规格并不严格要求与现有 Zone 内的节点规格一致。但是,为了保证集群的性能平衡和稳定性,建议新增节点的硬件配置(如 CPU、内存、磁盘 I/O 等)与现有节点尽量保持一致或相近。

使用 OBD 或 OCP 安装新节点

  1. 避免新节点形成新的 Zone
    • 在使用 OBD 或 OCP 安装新节点时,可以通过指定正确的参数来确保新节点加入到现有的 Zone 而不是创建新的 Zone。
    • 例如,在 OBD 中,可以通过 --join 参数来指定新节点加入现有的 Zone。

推荐使用 obdiag 工具进行日志采集和集群状态检查

日志采集场景: 集群基础信息

日志采集命令:

obdiag gather scene run --scene=observer.base

这个命令可以帮助您收集集群的基本信息,包括但不限于节点配置、集群状态等,从而帮助我们更好地了解当前集群的配置情况。

为了更好地帮助您解决问题,请提供以下信息:

  1. 当前集群的详细配置:包括节点数量、每个节点的硬件配置(CPU、内存、磁盘等)、网络配置等。
  2. 您使用的 OBD 或 OCP 的版本:这有助于我们了解工具的具体行为。
  3. 您尝试扩容的具体步骤:包括使用的命令、配置文件内容等。
  4. 扩容过程中遇到的具体错误信息:如果有任何错误日志或提示信息,请提供详细内容。
  5. 集群的状态:使用 show zonesshow servers 命令查看当前集群的状态,提供输出结果。

通过这些信息,我们可以更准确地定位问题并提供解决方案。如果您已经使用 obdiag 工具进行了日志采集,请将采集到的日志压缩包提供给我们,以便进一步分析。

附上敏捷诊断工具 obdiag 使用帮助链接

使用 OBD 或 OCP 安装新节点

  1. 避免新节点形成新的 Zone
  • 在使用 OBD 或 OCP 安装新节点时,可以通过指定正确的参数来确保新节点加入到现有的 Zone 而不是创建新的 Zone。
  • 例如,在 OBD 中,可以通过 --join 参数来指定新节点加入现有的 Zone。

这个具体操作有吗,没找到文档;所以这块感觉说的有点不清晰

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

在使用 OCP 添加 OBServer 节点时,可以通过选择现有 Zone 来避免新节点形成新的 Zone。具体步骤如下:

  1. 登录 OCP 。
  2. 在左侧导航栏单击 集群 ,系统默认进入 集群列表 页签。
  3. 集群列表 中选择待操作的集群并单击其集群名。
  4. 进入集群 概览 页面的 Zone 列表 区域,选择一个需要添加 OBServer 节点的 Zone,在对应的 操作 列中,单击 添加 OBServer
  5. OBServer 信息 区域,选择机型和 OBServer 节点所在的主机,并配置 OBServer 启动参数。
  • 默认只添加一个 OBServer 节点,如果需要添加多个 OBServer 节点,您可以在下方单击 新增 OBServer 按钮。
  • 关于 OBServer 启动参数的详情说明,可参见 OceanBase 配置项
  1. 完成后,单击 确定

具体信息可参考以下文档:

  1. 添加 OBServer 节点

OCP我当然知道,

OBD,或者 obshell,或者原始命令呢?

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

您可以使用 obd 或 obshell 来部署和管理 OCP Express,也可以通过原始命令进行操作。以下是相关文档片段的总结:

使用 obd 部署 OCP Express

  1. 开启远程镜像仓库
    obd mirror enable remote
    
  2. 升级 obd 到最新版本
    obd update
    
  3. 查询远程镜像仓库中 OCP Express 版本
    obd mirror list oceanbase.community.stable | grep ocp-express
    
  4. 部署 OCP Express
    obd cluster deploy <deploy name> -c config.yaml
    
  5. 启动 OCP Express
    obd cluster start <deploy name>
    

使用 obshell 部署 OCP Express

  1. 启动 obshell
    /home/admin/oceanbase/bin/obshell agent start --ip <node_ip> -P 2886
    
  2. 接管集群
    /home/admin/oceanbase/bin/obshell cluster start -a
    

使用原始命令部署 OCP Express

  1. 查询 OCP Express 版本
    obd mirror list oceanbase.community.stable | grep ocp-express
    
  2. 下载并安装 OCP Express
    obd mirror download <hash_value>
    
  3. 配置并启动 OCP Express
    obd cluster deploy <deploy name> -c config.yaml
    obd cluster start <deploy name>
    

详情请参考:

  1. 升级 OCP Express
  2. 使用命令行部署 OCP Express
  3. obshell 概述
  4. 部署 OceanBase 集群

obd的扩容方式 https://www.oceanbase.com/docs/common-obd-cn-1000000004376603