外观
OceanBase 集群配置
集群级配置
核心配置参数
集群基本配置
- cluster_id:集群唯一标识符,同一集群内所有节点必须一致
- zone_list:集群包含的可用区列表
- server_config:集群节点的默认配置模板
- root_password:集群 root 用户的密码
集群性能配置
- sys_bkgd_migration_retry_num:后台迁移重试次数
- sys_bkgd_migration_concurrency:后台迁移并发度
- major_freeze_duty_time:每日合并时间窗口
- minor_freeze_times:每日小合并次数
集群可靠性配置
- data_replica_num:默认数据副本数
- log_replica_num:默认日志副本数
- recovery_window_size:恢复窗口大小
- enable_rebalance:是否启用自动负载均衡
集群配置管理
使用 SQL 命令管理集群配置
sql
-- 查看集群级配置
SHOW PARAMETERS LIKE '%cluster%' SCOPE = CLUSTER;
-- 修改集群级配置
ALTER SYSTEM SET cluster_id = 1 SCOPE = CLUSTER;
-- 查看集群节点配置
SHOW PARAMETERS LIKE '%memory_limit%' SCOPE = SERVER;使用 OCP 管理集群配置
- 登录 OCP 控制台,进入集群管理页面
- 点击 "配置管理" 标签页
- 选择 "集群级配置" 或 "节点级配置"
- 找到需要修改的配置参数,点击 "修改" 按钮
- 输入新的配置值,选择生效范围
- 确认修改,等待配置生效
节点级配置
核心配置参数
节点基本配置
- server_id:节点唯一标识符,同一集群内不可重复
- zone:节点所属的可用区
- listen_port:客户端连接端口,默认 2881
- rpc_port:节点间通信端口,默认 2882
节点资源配置
- memory_limit:节点总内存限制,单位 MB
- system_memory:系统预留内存,单位 MB
- cpu_count:节点使用的 CPU 核心数
- data_dir:数据文件存储目录
- log_dir:日志文件存储目录
节点性能配置
- io_thread_count:IO 线程数量
- net_thread_count:网络线程数量
- sstable_block_size:SSTable 块大小,单位 KB
- block_cache_size:块缓存大小,单位 MB
节点配置管理
查看节点配置
bash
# 查看节点配置文件
cat /home/admin/oceanbase/conf/observer.conf
# 使用 SQL 命令查看节点配置
SHOW PARAMETERS LIKE '%memory_limit%' WHERE server = '<server-ip>:<rpc-port>';修改节点配置
sql
-- 修改单个节点配置
ALTER SYSTEM SET memory_limit = 64G SCOPE = SERVER WHERE server = '<server-ip>:<rpc-port>';
-- 修改所有节点配置
ALTER SYSTEM SET cpu_count = 32 SCOPE = SERVER;配置变更机制
配置变更流程
- 配置变更请求:通过 SQL 命令或 OCP 发起配置变更请求
- 配置验证:系统验证配置参数的合法性和有效性
- 配置分发:将配置变更分发到相关节点
- 配置生效:根据配置的生效范围和方式,使配置生效
- 配置持久化:将配置变更持久化到配置文件和元数据中
配置生效方式
- IMMEDIATE:立即生效,无需重启
- DEFERRED:延迟生效,需要重启
- BOTH:同时支持立即生效和延迟生效
配置生效范围
- CLUSTER:集群范围内生效
- SERVER:节点范围内生效
- TENANT:租户范围内生效
- SESSION:会话范围内生效
配置最佳实践
1. 配置规划
- 提前规划:在集群部署前,根据业务需求规划合理的配置
- 分级配置:根据配置的影响范围,采用分级配置策略
- 文档化:将配置参数和变更记录文档化,便于维护和追溯
2. 配置变更管理
- 变更评审:重要配置变更必须经过评审
- 变更测试:在测试环境中测试配置变更的效果
- 变更窗口:选择合适的变更窗口,避免业务高峰期
- 回滚计划:制定详细的回滚计划,确保变更失败时能够快速回滚
3. 配置监控
- 监控配置变更:监控配置变更的执行情况
- 监控配置效果:监控配置变更对系统性能和稳定性的影响
- 配置一致性检查:定期检查集群配置的一致性
4. 配置优化
- 基于负载优化:根据系统负载情况优化配置参数
- 基于业务特性优化:根据业务特性优化配置参数
- 定期回顾:定期回顾和优化配置参数
常见问题(FAQ)
Q1: 如何确保集群配置的一致性?
A1: 确保集群配置一致性的方法:
- 使用集群级配置,避免节点间配置差异
- 定期检查节点配置,确保配置一致
- 使用 OCP 进行配置管理,自动确保配置一致性
- 建立配置变更流程,避免随意修改配置
Q2: 配置变更后,如何验证配置是否生效?
A2: 验证配置生效的方法:
- 使用 SQL 命令查看当前配置值
- 检查 OCP 控制台的配置管理页面
- 查看节点日志,确认配置加载信息
- 通过性能监控指标验证配置变更效果
Q3: 哪些配置参数需要重启节点才能生效?
A3: 以下类型的配置参数通常需要重启节点:
- 基础网络配置(如 listen_port、rpc_port)
- 存储目录配置(如 data_dir、log_dir)
- 核心内存配置(如 memory_limit、system_memory)
- 其他标记为静态的配置参数
Q4: 如何备份和恢复集群配置?
A4: 配置备份和恢复方法:
- 定期备份配置文件到安全位置
- 使用 OCP 控制台的配置备份功能
- 恢复配置时,先停止集群服务,替换配置文件,再重启服务
- 恢复后验证配置是否正确
Q5: 如何处理配置变更导致的问题?
A5: 处理配置变更问题的方法:
- 立即回滚到之前的配置
- 查看节点日志,定位问题原因
- 分析配置变更的影响,制定修复方案
- 测试修复方案,确保问题已解决
- 重新执行配置变更,或调整配置变更方案
