1.1 cluster.cnf
本配置文件为key=value的形式,用于配置在一个dble集群中各个dble实例必须一致的一些参数,key/value值大小写敏感。
如果没有此文件启动dble,将不具有集群功能(配置同步,DDL同步等),并且部分参数使用默认值。
注意:本配置文件如果需要修改,需要多个dble节点停下来,修改配置,重新初始化集群元数据(zk可删除原有元数据),然后挨个启动dble
某些属性在生产环境不建议修改,例如sequenceHandlerType,它的各个值之间生成的序列是不兼容的,修改可能会破坏序列的唯一性。
配置名称 | 配置内容&示例 | 可选项/默认值 | 详细描述 |
---|---|---|---|
clusterEnable | 是否开启集群功能 | 非必需项,可配置true/false。默认值为false | 标记是否开启集群功能,如果开启,需要配置clusterIP,clusterPort,rootPath,clusterID |
clusterMode | 集群调度中心的模式 | 可配置zk/ucore。无默认值,clusterEnable开启后不配此项,会导致启动报错 | zk表示集群调度中心使用zookeeper,ucore表示使用爱可生商业集群调度中心 |
clusterIP | 集群调度中心的IP | 无默认值,clusterEnable开启后不配此项,会导致启动报错 | clusterMode为zk时,配置zk完整地址,例如10.186.19.aa:2281,10.186.60.bb:2281;clusterMode为core时,配置ucore的ip地址,可为逗号隔开的集群IP地址 |
clusterPort | 集群调度中心的端口 | 无默认值 | clusterMode为zk时,此项可以空缺;clusterMode为ucore时,配置ucore的端口号。 |
rootPath | 集群调度中心的根目录 | 无默认值,clusterEnable开启后不配此项,会导致启动报错 | 集群调度中心的根目录,按需配置 |
clusterId | 本dble集群的名称 | 无默认值,clusterEnable开启后不配此项,会导致启动报错 | 本dble集群的名称,多个使用同一实例名称的dble会被视为在同一集群下 |
needSyncHa | ha接口是否需要集群同步 | 可配置true/false。默认值为false | 当使用高可用接口时,是否需要使用集群同步,当配置为true时,实例级别的参数useOuterHa会被置为true |
showBinlogStatusTimeout | 拉取一致性binlog线的超时时间 | 可配置正整数,默认60000 ,单位毫秒 | 拉取一致性binlog线的超时时间 |
sequenceHandlerType | 全局序列处理器的方式 | 可配置1~4,默认值2 | 在初始化的时候根据这个配置选择不同的序列生成器进行加载 1,MySQL offset-step序列方式, sequence信息存储在数据库中 2,时间戳方式(类Snowflake) 3,分布式time序列(类Snowflake) 4,分布式offset-step序列 |
sequenceStartTime | 时间相关的全局序列的起始时间 | 非必需项,默认2010-11-04 09:42:54,修改需要保持这个格式 | 仅当sequenceHandlerType为2或3时候这个值有意义 |
sequenceInstanceByZk | 分布式time序列是否使用zk来生成唯一实例id | 非必需项,可以配置true/false,默认true | 仅当sequenceHandlerType为3,并且clusterMode为zk时,这个值有意义 |
grpcTimeout | 使用ucore时,grpc调用的超时时间 | 非必需项,单位为秒,默认10s | 仅当clusterMode为ucore时,这个值有意义 |
1.1.1 不使用的例子
不配置 或者
clusterEnable=false
#showBinlogStatusTimeout=60000
sequenceHandlerType=2
#sequenceStartTime=2010-11-04 09:42:54
#sequenceInstanceByZk=true
1.1.2 使用ZK的例子
clusterEnable=true
clusterMode=zk
clusterIP=10.186.19.aa:2281,10.186.60.bb:2281
rootPath=/dble
clusterId=cluster-1
#needSyncHa=false
#showBinlogStatusTimeout=60000
sequenceHandlerType=2
#sequenceStartTime=2010-11-04 09:42:54
#sequenceInstanceByZk=true
1.1.3 使用ucore的例子
clusterEnable=true
clusterMode=ucore
clusterIP=10.186.19.aa,10.186.60.bb
clusterPort=5700
rootPath=universe/dble
clusterId=cluster-1
#needSyncHa=false
#showBinlogStatusTimeout=60000
sequenceHandlerType=2
#sequenceStartTime=2010-11-04 09:42:54
#sequenceInstanceByZk=true
#grpcTimeout=10