基于amoeba+keepalived+mmm实现mysql读写分离高可用架构

php中文网
发布: 2016-06-07 17:37:28
原创
829人浏览过

更多博文请关注:没有伞的孩子必须努力奔跑(www.xuchanggang.cn)在上一篇已经通过mysql-mmm实现对mysql数据库的动态监控,这一篇我们将结合amoeba实现对数据库访

1.将需要的包传送到服务器并解压[我这里默认安装包已经上传到服务器家目录]

# 在192.168.1.112/192.168.1.113上分别解压如下几个包 [root@client112 ~]# tar -xf keepalived-1.2.9.tar.gz [root@client112 ~]# tar -xf jdk-7u15-linux-x64.tar.gz -C /usr/local/ # 在192.168.1.113 [root@client113 ~]# tar -xf keepalived-1.2.9.tar.gz [root@client113 ~]# tar -xf jdk-7u15-linux-x64.tar.gz -C /usr/local/

2.分别到192.168.1.112/192.168.1.113上配置java环境[这里只演示在112上的操作,113上重复此操作即可]

[root@client112 ~]# cd /usr/local/ [root@client112 local]# mkdir java # 将解压出来的内容移到java目录 [root@client112 local]# mv jdk1.7.0_15/* java # 设置java环境变量 [root@client112 local]# echo $JAVA_HOME [root@client112 local]# vim /etc/profile # 在末尾添加 JAVA_HOME=/usr/local/java AMOEBA_HOME=/usr/local/amoeba export PATH=$PATH:$AMOEBA_HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/jre/bin # 使变量生效 [root@centos local]# source /etc/profile

3.分别到192.168.1.112/192.168.1.113上配置amoeba[这里只演示在112上的操作,113上重复此操作即可]

百宝箱
百宝箱

百宝箱是支付宝推出的一站式AI原生应用开发平台,无需任何代码基础,只需三步即可完成AI应用的创建与发布。

百宝箱 911
查看详情 百宝箱

(1).配置amoeba中的dbServer.xml(后端mysql 服务器连接配置)

# 建立相应amoeba目录 [root@client112 local]# mkdir /usr/local/amoeba # 将压缩包解压到指定目录 [root@client112 local]# tar -xf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba [root@client112 local]# cd /usr/local/amoeba/ [root@client112 local]# cd conf/ # 配置后端mysql 服务器连接[dbServer.xml] [root@client112 conf]# vim dbServers.xml .........................(省略) ${defaultManager}64128 # 设置 mysql 数据库的端口 3306 # 设置缺省的数据库,当连接amoeba时,操作表必须显式的指定数据库名,即采用dbname.tablename的方式, # 不支持 use dbname指定缺省库,,因为操作会调度到各个后端dbserver kongzhong # 设置amoeba连接后端数据库服务器的账号和密码,需在后端数据库器上创建该用户,并授权amoeba连接 # 此处需要特别注意:**** 密码默认是注释掉,需要去掉注释!!! kongzhongkongzhong # 最大连接数[默认] 500 # 最大空闲连接数[默认] 50010600000600000truetruetrue # 设置一个后端的dbServer,名为master ,这个可以随便取,但是为了明确其含义,最好给予特殊含义的单词 # 下面指定的数据库IP地址,为mmm提供给对外访问的虚拟IP地址 192.168.1.12192.168.1.13192.168.1.14192.168.1.15192.168.1.16 # 指定一个虚拟的dbServer,将上面定义的dbserver加入这个虚拟的dbserver,相当于组成一个组[这里我们将读的数据库组成一个组] # 这里 需要将 改成自己想要取的名字,这个名字也需要有含义,后面会用到 # 选择调度算法 1 是轮询 2 是权重 3 是HA 这里选择1 轮询 1 # 负载均衡,slave1,slave2当成2个服务器进行调度,这模拟量加权的调度算法。 # 注意这里使用的dbserver必须是已经定义了的,可以写多个,如slave1,slave2 slave1,slave2,slave3,slave4


(2).配置 Amoeba 监听端口[amoeba.xml]

[root@client112 conf]# vim amoeba.xml .........................(省略) # 设置amoeba监听的端口(这里如果默认,后面测试需要指定端口,就是这里的端口) 3306 .........................(省略) # 提供客户端连接amoeba时需要使用这里设定的账号 (这里的账号密码和amoeba连接后端数据库服务器的密码无关) kongzhong123 # 提供客户端连接amoeba时需要使用这里设定的密码 kongzhong123${amoeba.home}/conf/access_list.conf .........................(省略) ${amoeba.home}/conf/rule.xml${amoeba.home}/conf/ruleFunctionMap.xml${amoeba.home}/conf/functionMap.xml1500master # 把默认注释掉的读写分离选项,把注释去掉并readpool修改成virtualslave(这个名字,我们前面在dbServer.xml里设置一个读数据库组,这里是作为只读池) mastervirtualslavetrue
keep
keep

Keep是一款健身安排,无论是想减肥塑形或增肌,还是寻找健身跑步瑜伽计步等训练计划,你可以随时随地选择课程进行训练!权威教练视频教学,健身干货自由分享!有需要的小伙伴快来保存下载体验吧!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号