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

更多博文请关注:没有伞的孩子必须努力奔跑(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上重复此操作即可]

(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}

64

128

# 设置 mysql 数据库的端口

3306

# 设置缺省的数据库,当连接amoeba时,操作表必须显式的指定数据库名,即采用dbname.tablename的方式,

# 不支持 use dbname指定缺省库,,因为操作会调度到各个后端dbserver

kongzhong

# 设置amoeba连接后端数据库服务器的账号和密码,需在后端数据库器上创建该用户,并授权amoeba连接

# 此处需要特别注意:**** 密码默认是注释掉,需要去掉注释!!!

kongzhong

kongzhong

# 最大连接数[默认]

500

# 最大空闲连接数[默认]

500

10

600000

600000

true

true

true

# 设置一个后端的dbServer,名为master ,这个可以随便取,但是为了明确其含义,最好给予特殊含义的单词

# 下面指定的数据库IP地址,为mmm提供给对外访问的虚拟IP地址

192.168.1.12

192.168.1.13

192.168.1.14

192.168.1.15

192.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.xml

1500

master

# 把默认注释掉的读写分离选项,把注释去掉并readpool修改成virtualslave(这个名字,我们前面在dbServer.xml里设置一个读数据库组,这里是作为只读池)

master

virtualslave

true

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值