在 OBCP 实验考试中,部署 OceanBase 集群时有哪些常见的坑点需要注意?

在 OBCP 实验考试中,部署 OceanBase 集群时有哪些常见的坑点需要注意?

3 个赞

1. 登录与连接类“坑点” (最容易被忽视)

  • 账号密码混淆
    • 坑点 :考试邮件中提供的表格,表头可能写着“用户名”,但实际内容是 root 用户的密码 。真正的用户名通常是 root
    • 对策 :仔细核对邮件说明,不要想当然。
  • SSH 登录工具限制
    • 坑点 :部分考场环境可能不支持 SecureCRT 等图形化工具直接登录(可能需要配置证书),或者因为版本兼容性问题连接失败。
    • 对策 :熟练掌握命令行登录方式 ssh -l root <IP地址> ,这是最稳妥的保底方案。
  • OBProxy 连接串错误
    • 坑点 :手动拼接连接串时容易输错租户名(如 sys vs test )或密码,导致 Access denied
    • 对策 :在 OCP(OceanBase Cloud Platform)的系统租户用户管理中,直接复制官方生成的连接串,不要手打。

2. 环境与系统配置类“坑点” (地基不稳)

  • 时间同步 (NTP/Chrony)
    • 坑点 :这是致命坑 。如果节点间时间偏差超过 50ms (有些版本要求 2s,但考试建议严格控制在 50ms 内),集群初始化(Bootstrap)会直接失败,或者导致后续选主失败。
    • 对策 :部署前务必检查 chronyc sourcesdate ,确保所有节点时间一致。
  • 目录权限与结构
    • 坑点/home/admin/oceanbase 等关键目录的属主不是 admin 用户,或者目录权限设置错误,导致 observer 进程无法启动。
    • 对策 :严格执行 chown -R admin:admin 操作。
  • 依赖包缺失
    • 坑点 :缺少 libaiomariadb-libs 等基础依赖,导致安装 OBD 或启动进程时报错。

3. 资源与参数配置类“坑点” (核心考点)

  • 内存设置过大
    • 坑点 :在 memory_limit 参数中给 OceanBase 分配了过多内存(例如 16G 内存的机器分了 14G),导致操作系统内存不足,进程被杀或无法启动。
    • 对策 :务必预留 20%-30% 的内存给操作系统和其他组件。
  • 磁盘路径配置错误
    • 坑点datafile_size 对应的磁盘路径不存在,或者 clog (事务日志)和 sstable (数据文件)混用磁盘导致 IO 争抢(虽然考试环境可能只有一块盘,但逻辑上要分清)。
    • 对策 :检查 mkdir 创建的目录路径是否与配置文件一致。
  • Zone 与 IP 对应关系
    • 坑点 :在 Bootstrap 命令或配置文件中,Zone 名称(如 zone1 )与服务器 IP 的对应关系写反了,或者多写了空格、分隔符错误(应为逗号 , 却写成了分号 ; )。

4. 部署流程类“坑点” (操作失误)

  • Bootstrap 失败处理
    • 坑点 :一旦 Bootstrap 失败,不能直接重试 。直接重试通常会报同样的错。
    • 对策 :必须先清理环境(销毁集群、清理数据目录),重新初始化后再试。
  • OBD 命令误用
    • 坑点 :误用 obd cluster destroyredeploy 命令,导致刚部署好的数据被清空。
    • 对策 :执行高危命令前多看一眼提示。
  • 配置文件参数不一致
    • 坑点 :OBD 配置文件中,proxyro_password (OBProxy 连接密码)和 obproxy_sys_password 设置不一致,导致 OBProxy 无法连接 OceanBase 集群。
3 个赞