mycat 高可用
发布网友
发布时间:2024-10-22 07:52
我来回答
共1个回答
热心网友
时间:2024-11-09 17:51
mycat 高可用
mycat 可通过 zookeeper 集群进行配置文件管理。
1.1 搭建 zookeeper 集群
此处不做 zookeeper集群搭建讲解
1.2 配置mycat支持zookeeper
修改 mycat conf 目录下myid.properties
loadZk=true # zk集群地址,多个用","隔开 zkURL=192.162.3.31:2121,192.162.3.32:2121,192.162.3.33:2121 # zk集群内Mycat集群ID clusterId=mycat-cluster-1 # Mycat集群内本实例ID,禁止重复 myid=mycat_fz_01 # Mycat集群内节点个数 clusterSize=3 #集群内所有节点的 id clusterNodes=mycat_fz_01,mycat_fz_02,mycat_fz_03 #server booster ; booster install on db same server,will reset all minCon to 1 type=server boosterDataHosts=dataHost1
1.3 自定义配置
将需要修改的配置文件替换到 conf 目录中的 zkconf 目录下,只需要在一台机器修改即可,需要注意 conf目录中的 server.xml 中用户名和密码与 zkconf 中的不一致
1.4 上传配置
执行修改了配置文件的 mycat 下的bin 目录下的initzkdata.sh,上传配置文件,(在修改了配置文件的机器上执行)
./initzkdata.sh
1.5 启动所有 mycat
启动后发现其他 mycat conf 下的配置文件已经自动变化为修改的内容,是zookeeper 中下载的
2. 使用的是 lvs+keepalived 的方式
此处使用的是 lvs+keepalived 的方式实现mycat高可用负载均衡集群
2.1 配置环境
角色 主机IP 主机名 操作系统版本 软件版本
VIP 192.162.3.200
LVS-DR-Master 192.162.3.41 keepalived01 CentOS6.9 Keepalived v1.2.13,LVS 1.2.1
LVS-DR-Backup 192.162.3.42 keepalived02 CentOS6.9 Keepalived v1.2.13,LVS 1.2.1
mycat-Realserver 192.162.3.34 mycat01 CentOS6.9 mycat v1.6.5
mycat-Realserver 192.162.3.35 mycat02 CentOS6.9 mycat v1.6.5
mycat-Realserver 192.162.3.36 mycat03 CentOS6.9 mycat v1.6.5
2.2 安装keepalived和ipvsadm
注意:ipvsadm并不是lvs,它只是lvs的配置工具。在 CentOS1.1 的内核版本中是默认支持的。因此,这里不需要重新安装。使用 yum 的安装方式,分别在 keepalived01 和 keepalived02 两台主机上安装 keepalived 和 ipvsadm。除了这种简易方式外,也可直接编译官方的源码包。安装步骤可参考文档。
2.3 配置Keepalived
2.3.1 master
vi /etc/keepalived/keepalived.conf
配置详细内容如下,注意优先级、状态、接口、虚拟IP地址、负载调度算法、服务器节点配置、检查间隔、会话保持时间、协议类型等参数设置。
2.3.2 backup
备份机配置与主机一致,除了优先级和状态修改外。
在配置文件中,特别需要注意的是interface的修改,根据实际情况进行相应的修改。
2.4 安装配置 mycat
安装mycat请参考相关文档。
2.4.1 绑定虚拟 vip
在mycat服务器上为lo:0绑定VIP地址、抑制ARP广播。
执行脚本./realserver.sh start在mycat01和mycat02、mycat03三台主机上。
2.4.2 查看
运行 ifconfig 查看结果。
2.5 启动 keeplive
分别在keepalived01和keepalived02上启动Keepalived服务。
2.5.1 查看
通过ipvsadm -L 查看映射。
2.5.2 测试
通过一台装有 mysql的机器连接虚拟 ip 发现可以登录数据库。
2.5.3 查看转发
再次在 keepalived 的机器执行ipvsadm -L,发现被转到35上面一次。
2.5.4 负载均衡方式
与配置相关,多次都指向一个机器,因为我们在 keepalived 的配置文件中persistence_timeout属性指定为50,则代表50秒内同一个机器来的请求会被 hash 一致性分配。如果想实现严格意义上面的轮询,修改为0即可。