1)集群中各 dble 的 sequence_distributed_conf.properties 配置
dble-1 中的 sequence_distributed_conf.properties 配置为:
INSTANCEID=zk
CLUSTERID=01
START_TIME=2010-11-04 09:42:54
dble-2 中的 sequence_distributed_conf.properties 配置为:
INSTANCEID=zk
CLUSTERID=02
START_TIME=2010-11-04 09:42:54
dble-3 中的 sequence_distributed_conf.properties 配置为:
INSTANCEID=zk
CLUSTERID=03
START_TIME=2010-11-04 09:42:54
sequence_distributed_conf.properties 中:
INSTANCEID:指定实例 ID 值,可以为 ‘zk’ 或者 n(n 为区间 [0,31] 中的一个整数)。如果配成 zk,则序列的维护(主要是 INSTANCEID 值的维护)用 zookeeper 的临时自增节点来维持。每次生成全局序列时,向 zk 申请一个临时自增节点,通过计算自增节点数 %32 获取 INSTANCEID。如果 INSTANCEID 值不为 ‘zk’ ,序列的维护仅依赖于单实例(主要是 INSTANCEID 值的维护),此时序列类似于时间戳方式。
CLUSTERID:指定组 ID 值,可以为 m(m 为区间 [0, 15] 中的一个整数)。
START_TIME:指定开始时间,时间格式固定,必须为 2010-11-04 09:42:54 这种格式。
2)将 dble-1 中的 schema.xml 及 server.xml 配置修改如下:
schema.xml 关键配置为:
<schemaname="schema1"dataNode="dn1">
<table name="tb_autoIncre" dataNode="dn1,dn2,dn3,dn4" rule="hash-four" cacheKey="id" incrementColumn="id"/>
</schema>
server.xml 关键配置为:
<system>
<pro
perty name="sequenceHandlerType">3</property>
</system>
3)登录 dble-1 的管理端口并执行管理命令 reload @@config_all,然后依次重启 3 台 dble,使配置在集群中生效。