Skip to content

OceanBase 节点配置

配置文件结构

配置文件类型

  • observer.conf:OceanBase 节点的主配置文件,包含节点的核心配置参数
  • obcluster.conf:集群级别的配置文件,管理集群范围内的配置
  • obtenant.conf:租户级别的配置文件,管理租户范围内的配置

配置文件位置

  • 默认位置:/home/admin/oceanbase/conf/
  • 可通过启动参数指定配置文件路径
  • 配置文件采用键值对格式,每行一个配置项

配置文件示例

bash
# observer.conf 示例
cluster_id=1
tenant_id=1
server_id=1
zone=zone1
listen_port=2881
rpc_port=2882
data_dir=/home/admin/oceanbase/store
log_dir=/home/admin/oceanbase/log

常用配置参数

基础配置

  • cluster_id:集群唯一标识符,同一集群内所有节点必须一致
  • server_id:节点唯一标识符,同一集群内不可重复
  • zone:节点所属的可用区
  • listen_port:客户端连接端口,默认 2881
  • rpc_port:节点间通信端口,默认 2882

存储配置

  • data_dir:数据文件存储目录
  • log_dir:日志文件存储目录
  • devname:数据磁盘设备名称
  • disk_size:数据磁盘大小,单位 MB
  • datafile_size:数据文件大小,单位 MB

内存配置

  • memory_limit:节点总内存限制,单位 MB
  • system_memory:系统预留内存,单位 MB
  • stack_size:线程栈大小,单位 KB
  • trace_log_switch:是否开启跟踪日志

性能配置

  • cpu_count:节点使用的 CPU 核心数
  • io_thread_count:IO 线程数量
  • net_thread_count:网络线程数量
  • sstable_block_size:SSTable 块大小,单位 KB
  • major_freeze_duty_time:每日合并时间窗口

配置调整方法

在线调整配置

  • 使用 SQL 命令在线调整大部分配置参数
  • 支持动态调整和静态调整两种方式
  • 动态调整参数无需重启节点即可生效
  • 静态调整参数需要重启节点才能生效
sql
-- 查看当前配置
SHOW PARAMETERS LIKE '%cpu_count%';

-- 在线调整配置
ALTER SYSTEM SET cpu_count = 32 SCOPE = BOTH;

使用 OCP 调整配置

  1. 登录 OCP 控制台,进入集群管理页面
  2. 选择待调整配置的节点,点击 "配置管理" 标签页
  3. 找到需要调整的配置项,点击 "修改" 按钮
  4. 输入新的配置值,选择生效范围(当前节点或全集群)
  5. 确认修改,等待配置生效

直接修改配置文件

  1. 登录待调整配置的节点
  2. 备份当前配置文件
  3. 使用文本编辑器修改配置文件
  4. 重启 OceanBase 服务使配置生效
  5. 验证配置是否正确生效

配置最佳实践

内存配置建议

  • 内存限制建议设置为节点物理内存的 80%
  • 系统预留内存建议设置为总内存的 10%
  • 根据节点的负载情况动态调整内存分配

存储配置建议

  • 数据目录和日志目录建议分别挂载到不同的磁盘
  • 数据磁盘建议使用 SSD,提高 IO 性能
  • 定期清理过期日志,避免磁盘空间不足

性能配置建议

  • CPU 核心数建议设置为物理 CPU 核心数的 80%
  • IO 线程数量建议根据磁盘数量和性能调整
  • 网络线程数量建议根据节点间通信量调整

常见问题(FAQ)

Q1: 调整配置参数后,如何验证是否生效?

A1: 可以通过以下方式验证:

  • 使用 SQL 命令 SHOW PARAMETERS LIKE '%parameter_name%' 查看当前配置值
  • 检查 OCP 控制台的配置管理页面
  • 查看节点日志,确认配置加载信息
  • 通过性能监控指标验证配置调整效果

Q2: 哪些配置参数需要重启节点才能生效?

A2: 以下类型的配置参数通常需要重启节点:

  • 基础网络配置(如 listen_port、rpc_port)
  • 存储目录配置(如 data_dir、log_dir)
  • 核心内存配置(如 memory_limit、system_memory)
  • 其他标记为静态的配置参数

Q3: 如何备份和恢复节点配置?

A3: 配置备份和恢复方法:

  • 定期备份配置文件到安全位置
  • 使用 OCP 控制台的配置备份功能
  • 恢复配置时,先停止节点服务,替换配置文件,再重启服务
  • 恢复后验证配置是否正确

Q4: 配置调整后导致节点无法启动怎么办?

A4: 处理方法:

  • 检查配置文件中的错误配置项
  • 恢复为之前的正确配置文件
  • 查看节点日志,定位启动失败原因
  • 调整配置参数后重新尝试启动

Q5: 如何批量调整集群中多个节点的配置?

A5: 批量配置调整方法:

  • 使用 OCP 控制台的批量配置功能
  • 通过 SQL 命令设置集群级别的配置
  • 使用配置管理工具(如 Ansible)批量修改配置文件
  • 调整后统一验证配置生效情况