codecamp

Mycat2 使用zookeeper部署多个Mycat2

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)

Mycat2 注释配置
Mycat2 集群 cluster
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }