系统集群文件配置参数
📄字数 4.7K
👁️阅读量 加载中...
概述
cluster.ini 是针对数据库集群部署的系统配置文件,可用于配置集群的规模、通信、角色、算力、存储权重等信息。在部署数据库服务时,支持使用程序启动参数--init-setup
生成集群模版文件./SETUP/cluster.ini.temp
,用户可根据需求修改其配置信息,修改完成后再重命名为 cluster.ini
即可作为集群配置文件启动数据库集群服务。
cluster.ini.temp 文件内容模板(文件内容固定以 '#' 开始,且不可删除 '#'):
sh
#MAX_NODES=32 MASTER_GRPS=1 PROTOCOL='UDP' MSG_PORT_NUM=1 MAX_SEND_WIN=128
MSG_HAVE_CRC=0 MERGE_SMALL_MSG=0 MSG_SIZE=32768 TIMEOUT=10000 RPC_WINDOW=8
EJE_WINDOW=8 MAX_SHAKE_TIME=1200 MY_NID=0001 CHECK_RACK=0 ADDR_TYPE='IPV4'
NID=0001 RACK=0001 PORTS='127.0.0.1:10000' ROLE='MSQW' LPU=1 STORE_WEIGHT=3 STATE=DETECT;
NID=0002 RACK=0001 PORTS='127.0.0.1:10000' ROLE='MSQW' LPU=1 STORE_WEIGHT=3 STATE=DETECT;
NID=0003 RACK=0001 PORTS='127.0.0.1:10000' ROLE='SQWG' LPU=1 STORE_WEIGHT=3 STATE=DETECT;
场景 | 启动方式 |
---|---|
缺失或无法打开 cluster.ini | 单机模式启动。 |
成功解析 cluster.ini | 集群模式启动。 |
错误的 cluster.ini格式 | 记载事件日志(EVENT.LOG),进程退出。 |
注意
- 严禁修改 cluster.ini 中的参数格式及顺序,否则会导致集群配置失效或不可用。
MAX_NODES
- 引入版本
v11.0.0
功能描述
该参数用于设置集群最大节点数,限制集群规模,集群实际节点数可以小于 MAX_NODES。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 32 |
取值范围 | [1,512] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- MAX_NODES 理论值并非可正常运行的数据库集群规模,受限于硬件设备和网络带宽影响。
- MAX_NODES 会影响数据库的部署方式和结果。
场景 | 部署方式 |
---|---|
缺失或无法打开 cluster.ini | 单机部署。 |
无法解析 cluster.ini | 进程退出。 |
成功解析 cluster.ini,且 MAX_NODES > 1 | 集群部署。 |
- 该参数值建议按预估的集群节点规模设值,避免过大的值带来不必要的内存资源消耗。
MASTER_GRPS
引入版本
v11.0.0功能描述
该参数用于设置控制角色组数,两个具备控制(M) 角色的节点作为一组,节点之间构成主备关系。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 1 |
取值范围 | 1 |
影响范围 | 系统级 |
修改方式 | 不可修改 |
- 使用场景说明
- 仅支持 1 组控制角色。
PROTOCOL
引入版本
v11.0.0功能描述
用于设置数据库集群中各节点间通信所采用的通信协议。参数属性
属性 | 属性值 |
---|---|
参数类型 | VARCHAR |
默认值 | 'UDP' |
取值范围 | {'UDP'} |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
MSG_PORT_NUM
引入版本
v11.0.0功能描述
该参数用于设置数据库集群中各节点之间的通讯通道数。
-参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 1 |
取值范围 | [1,16] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 该参数值需与节点参数 PORTS 中配置保持一致。
MAX_SEND_WIN
引入版本
v11.0.0功能描述
该参数用于设定数据库集群中各节点间每一个通道的最大发送窗口大小。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 128 |
取值范围 | [1,2046] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 该参数值用于集群节点间UDP通信的流量控制,集群部署环境网络延迟高时,可适当调大该参数值。
MSG_HAVE_CRC
引入版本
v11.0.0功能描述
该参数用于设置数据库集群中各节点之间的消息是否需要进行 CRC 校验。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 0 |
取值范围 | {0,1} |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
参数值 | 描述 |
---|---|
0 | 关闭 CRC 校验 |
1 | 开启 CRC 校验 |
MERGE_SMALL_MSG
引入版本
v11.0.0功能描述
MERGE_SMALL_MSG 参数用于设置是否启用消息小包合并功能。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 0 |
取值范围 | {0,1} |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 暂未使用。
参数值 | 描述 |
---|---|
0 | 关闭消息小包合并功能 |
1 | 开启消息小包合并功能(间接限制 MSG_SIZE 下限为 4120 字节) |
MSG_SIZE
引入版本
v11.0.0功能描述
MSG_SIZE 参数用于设置数据库集群中各节点之间通信消息报文的最大长度。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 32768 |
取值范围 | [1024,65536) |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 集群部署环境网络MTU大于9000时,该参数值建议配置为9000。
- 集群部署环境网络大包丢包严重时,可适当调小该参数值。
TIMEOUT
引入版本
v11.0.0功能描述
TIMEOUT 参数用于设置数据库集群中各节点之间消息发送超时(单位:0.1微秒)。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 10000 |
取值范围 | [1,2147483647] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 该参数配置可通过访问系统变量 MSG_TIMEOUT 查看。
- 对于网络延迟较高的集群环境,适当将该参数配大,可有效降低无效重发次数,提高网络带宽的有效利用率。
RPC_WINDOW
引入版本
v11.0.0功能描述
该参数用于设定数据库集群中各节点之间每一次远程过程调用(RPC,Remote Procedure Call)的流量控制窗口大小。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 8 |
取值范围 | [0,63] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
EJE_WINDOW
引入版本
v11.0.0功能描述
该参数用于设定数据库集群中各节点之间进行通信时的并行弹射器(Ejector)流量控制窗口大小。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 8 |
取值范围 | [0,255] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
MAX_SHAKE_TIME
引入版本
v11.0.0功能描述
该参数用于设置数据库集群启动握手超时时间(单位:秒)。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 1200 |
取值范围 | [1,2147483647] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
MY_NID
引入版本
v11.0.0功能描述
该参数用于设置当前节点在集群中的编号。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 0001 |
取值范围 | [1,2147483647] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 该参数值必须与某个节点参数的 NID 值正确映射。
CHECK_RACK
引入版本
v11.0.0功能描述
该参数用于设置是否检查控制节点的机架号。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 0 |
取值范围 | {0,1} |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
参数值 | 描述 |
---|---|
0 | 不检测 |
1 | 每组控制节点机架号必须相等 |
- 使用场景说明
1.目前仅支持一组控制节点,建议保持默认值
ADDR_TYPE
引入版本
V12.4.0功能描述
该参数用于设置集群IP地址协议类型。参数属性
属性 | 属性值 |
---|---|
参数类型 | VARCHAR |
默认值 | 'IPV4' |
取值范围 | {'IPV4','DOMAIN'} |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
参数值 | 描述 |
---|---|
'IPV4' | IPv4地址 |
'DOMAIN' | 域名 |
NID
引入版本
v11.0.0功能描述
该参数用于设置节点在集群中编号,该值连续递增数值,并且控制节点编号需要连续。参数属性
属性 | 属性值 |
---|---|
参数类型 | INGETER |
默认值 | 0001 |
取值范围 | [1,2147483647] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
PORTS
引入版本
v11.0.0功能描述
PORTS 参数用于设置集群内部各个节点自身的 IPv4/DOMAIN 地址和通信端口号。参数属性
属性 | 属性值 |
---|---|
参数类型 | VARCHAR |
默认值 | '127.0.0.1:10000' |
取值范围 | - |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 配置多路内部通信端口时,配置通讯端口组数需要与 MSG_PORT_NUM 一致,每组使用逗号
,
分隔,格式:IP1:PORT1,IP2:PORT2
。 - 集群内部通信使用收发端口对,PORTS 中显式指定的通信端口为消息接收端口号,其消息发送端口隐式自动计算:
发送端口号 = 接收端口号 + 20
。
注意
在部署集群时,需要提前验证所需的端口(包括接收端口和发送端口)是否已经被其他服务或进程占用。
ROLE
引入版本
v11.0.0功能描述
该参数用于指定集群内部各个节点自身所承担的角色属性。参数属性
属性 | 属性值 |
---|---|
参数类型 | VARCHAR |
默认值 | 'MSQW'或'SQWG' |
取值范围 | {'M','S','Q','W','G'} |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 每个角色由一个大写字母标识,多数角色可以在同一个节点上自由组合。
节点角色 | 角色职责 |
---|---|
M(控制角色) | 负责节点管理(如节点的增加、删除、状态查看)、资源管理、故障处理(通过心跳检测节点或服务的故障)、存储均衡修复迁移以及全局锁管理和全局仲裁服务等 |
S(存储角色) | 负责数据存储,响应工作节点发来的增、删、查、改等底层数据操作 |
Q(查询角色) | 负责建立监听 |
W(工作角色) | 负责接受客户请求、规划任务、执行任务等 |
G(变更记载角色) | 变更数据采集,用于数据备份,用于提供灵活便捷的增量日志读取 |
注意
- 控制角色(M)必须配置为2个且节点号连续,建议使用1和2。
- 查询角色(Q)与工作角色(W)建议同时配置。
- 变更记载角色(G)最多允许配置于2个节点。
LPU
引入版本
v11.0.0功能描述
该参数用于设置逻辑处理器个数,它决定了在并行计算过程中可以使用的最大逻辑 CPU 数量。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 1 |
取值范围 | [1,255] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 该参数仅对配置了工作角色(W)的节点有效。
- LPU 建议值设置为
服务器物理CPU核数 - 1
。
STORE_WEIGHT
引入版本
v11.0.0功能描述
该参数用于设置节点存储权重。参数属性
属性 | 属性值 |
---|---|
参数类型 | INTEGER |
默认值 | 3 |
取值范围 | [1,10] |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 若集群各节点磁盘存储容量大小不同,可按节点磁盘容量比配置改参数值。
- 若集群磁盘IO性能不同,可按节点磁盘IO性能比配置改参数值。
STATE
引入版本
v11.0.0功能描述
该参数用于设置数据库集群中各节点状态。参数属性
属性 | 属性值 |
---|---|
参数类型 | VARCHAR |
默认值 | DETECT |
取值范围 | {DETECT,INVALID} |
影响范围 | 系统级 |
修改方式 | 离线修改,重启生效 |
- 使用场景说明
- 暂未使用,建议保持默认值。
参数值 | 描述 |
---|---|
DETECT | 未联机 |
INVALID | 无心跳 |