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)批量修改配置文件
  • 调整后统一验证配置生效情况