4台主机,如何玩转obcp实践训练

根据您的描述和提供的信息,以下是关于如何在 4 台主机上部署 OCP 和 MetaDB 的详细解答:


1. 关于 MetaDB 的部署

MetaDB 是 OCP 的元数据存储组件,通常需要一个独立的 OceanBase 集群来承载。根据您的规划,MetaDB 将部署在主机 B、C、D 上,形成一个三节点的集群。

部署方式

  • 单机 MetaDB:OCP 支持单节点 MetaDB 的部署,但生产环境中推荐使用三节点高可用架构。
  • 多节点 MetaDB:您可以在主机 B、C、D 上分别部署 MetaDB 的三个副本(observer 节点),并通过 OAT 或者手动方式完成部署。

具体步骤

  1. 准备依赖环境

    • 确保主机 B、C、D 已安装必要的软件包(参考文档片段 1 和 10)。
    • Ubuntu 22.04 中 python-dev 包已被替换为 python2-devpython3-dev,因此需要调整依赖安装命令。例如:
      apt install -y python2-dev python3-dev libmariadb-dev libmariadb-dev-compat libmariadb3 libmariadbclient-dev mariadb-client mariadb-common curl sudo net-tools
      
  2. 下载 MetaDB 安装包

    • 您提到的 meta_OB2277_OBP329_x86_20230330.tgz 是 MetaDB 的安装介质。
    • 解压后,按照官方文档中的步骤进行初始化和配置。
  3. 部署 MetaDB 集群

    • 使用 OAT 工具一键部署 MetaDB 集群,或者手动部署。
    • 如果使用 OAT,请确保主机 A 上的 OAT 已正确安装,并能够访问主机 B、C、D。
  4. 验证 MetaDB 集群状态

    • 登录到任意 MetaDB 节点,执行以下命令检查集群状态:
      obclient -h<host> -P2881 -uroot@sys -p
      show zones;
      

2. 关于 OCP 的部署

OCP 是 OceanBase 的管控平台,依赖 MetaDB 存储元数据。根据您的规划,OCP 服务将部署在主机 A 上。

具体步骤

  1. 安装 OCP

    • 确保主机 A 已安装 Docker 和 JDK(版本要求见文档片段 10)。
    • 下载 OCP 的安装包并解压:
      tar -xvf ocp_<version>.tgz
      cd ocp_<version>
      ./install.sh
      
  2. 配置 MetaDB 连接信息

    • 在 OCP 安装过程中,填写 MetaDB 的连接信息(主机 IP、端口、用户名、密码等)。参考文档片段 4 和 8。
  3. 启动 OCP

    • 启动 OCP 服务并访问 Web 控制台:
      ./ocp-server start
      
    • 默认访问地址为 http://<host>:8080
  4. 验证 OCP 状态

    • 登录 OCP 控制台,检查是否成功连接到 MetaDB。

3. 关于业务 OB 集群的部署

业务 OB 集群是实际承载业务数据的 OceanBase 集群,可以部署在主机 B、C、D 上。

具体步骤

  1. 规划集群架构

    • 根据业务需求,选择合适的分区数和副本数。
    • 推荐将 observer 节点分别部署在主机 B、C、D 上。
  2. 使用 OCP 部署 OB 集群

    • 登录 OCP 控制台,创建新的 OB 集群。
    • 填写集群名称、节点信息、资源配置等。
  3. 部署 OBProxy

    • 在主机 A 上部署 OBProxy,用于提供读写分离和负载均衡功能。
    • 配置 OBProxy 连接到业务 OB 集群。
  4. 验证集群状态

    • 使用 obclient 或其他工具连接到 OB 集群,检查其运行状态。

4. 关于 Ubuntu 22.04 的适配问题

您提到 Ubuntu 22.04 中部分依赖包已更新或移除,导致安装失败。以下是解决方案:

问题分析

  • python-dev 包已被替换为 python2-devpython3-dev
  • /etc/system-release 文件不存在,可能是因为 Ubuntu 不使用该文件标识系统版本。

解决方法

  1. 调整依赖安装命令

    • 替换 python-devpython2-devpython3-dev
    • 示例命令:
      apt update
      apt install -y python2-dev python3-dev libmariadb-dev libmariadb-dev-compat libmariadb3 libmariadbclient-dev mariadb-client mariadb-common curl sudo net-tools
      
  2. 模拟 /etc/system-release 文件

    • 创建一个虚拟的 /etc/system-release 文件,内容如下:
      echo "Ubuntu 22.04" > /etc/system-release
      
  3. 更新 OAT 安装脚本

    • 如果 OAT 安装脚本中硬编码了对 /etc/system-release 的检查,可以修改脚本逻辑,支持 Ubuntu 22.04。

5. 总结与建议

  • 主机角色规划
    • 主机 A:OAT、OCP、OBProxy。
    • 主机 B、C、D:MetaDB(三节点)、业务 OB 集群(三节点)。
  • 注意事项
    • 确保所有主机之间的网络连通性。
    • 配置 NTP/Chrony 以保证时间同步。
    • 定期备份 MetaDB 和业务 OB 集群的数据。

如果您仍有疑问或遇到其他问题,请随时联系 OceanBase 的人工答疑团队获取进一步支持!

检索到的文档如下:

  1. 系统要求
  2. OceanBase 集群常见问题
  3. 部署前准备
  4. 使用图形化界面部署 OCP
  5. 卸载 OCP
  6. OCP V4.0.2
  7. 使用图形化界面升级 OCP
1 个赞

obproxy部署到ob业务集群节点。
oat是企业版的产品,你提的这个技术问题牵涉到OceanBase企业版范围内的功能细节。建议你通过以下方式寻求帮助:
1.如你所在的企业客户已签署OceanBase企业版销售合同,请你联系客户经理;
2.如你所在的企业客户尚未签署OceanBase企业版销售合同,你可通过OceanBase官网商务咨询页面留下你的联系方式,OceanBase企业版的业务顾问会在一个工作日内与你联系。
OceanBase官网商务咨询

https://www.oceanbase.com/contactus?fromPage=https%3A%2F%2Fwww.oceanbase.com%2Fsoftwarecenter-enterprise&dataSources=softwarecenter-enterprise_footercontact_d2022

受益匪浅

感谢分享!

内容很好

赞一个!

学习了

技术细节讲得很清楚,学到了!

干货满满,受益匪浅

666

写得很详细