Mycat2不像1.6有主从概念,也就说Mycat2之间的地位是平等的,Zookeeper的作用是作为配置中心,存储mycat的配置,以及提供元数据锁的功能
1.部署zk,并记录zk服务地址zk_address
2.更改mycat配置
找到server.json{
"loadBalance":{
"defaultLoadBalance":"BalanceRandom",
"loadBalances":[]
},
"mode":"local",
"properties":{},
....
}
设置"mode":"cluster",
"properties":{"zk_address":"zk连接字符串"}
例子"mode":"cluster",
"properties":{"zk_address":"127.0.0.1:2181"}
设置后,启动这一个mycat2,mycat连接成功后,发现zk里面没有配置,会自动把本地的配置导入到zk里面,
此后使用ZooInspector登录该zk,编辑里面的mycat配置即可,除了server级别配置,其他配置
schema,user,cache,sequence,datasource,cluster.
都可以实现热更新.
在ZK里编辑相当于直接更改配置文件,暂时无法自动创建物理库,物理表.
然后,其余的mycat使用相同配置启动即可,但是它们发现zk里面已经有配置就不会理会本地配置,而是把zk的配置刷新到本地配置
zk连接器的其它特性,比如集群等,在连接字符串里面配置即可
jvm启动参数添加-Dmode=cluster,可以覆盖配置文件的mode配置
如果mycat2在以集群模式启动,但是无法连接上配置的zk,则会启动一个内置的zk(127.0.0.1:2181)