1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 基于amoeba+keepalived+mmm实现mysql读写分离高可用架构

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

时间:2019-04-22 10:18:46

相关推荐

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

数据库|mysql教程

amoeba,keepalived,mysql-mmm

数据库-mysql教程

窗口辅助源码,ubuntu怎么换底色,爬虫怎么爬出简历,php 天水,智云seolzw

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

.net源码服务专家,vscode开发窗体应用,ubuntu10.04.4,ejb容器tomcat,sqlite 查询表记录数量,爬虫恒温箱养蜘蛛行吗,php zend 下载,河南seo推广优化,婚恋交友网站 php源码,aspx网页考试系统,景点介绍网站模板lzw

跟踪查询源码,重装后ubuntu引导,同一tomcat跨域,爬虫生长环境,php缴费优惠代码写法,双赢seolzw

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}64128# 设置 mysql 数据库的端口

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

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

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

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

kongzhongkongzhong # 最大连接数[默认]500 # 最大空闲连接数[默认]50010600000600000truetruetrue

# 设置一个后端的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,slave2slave1,slave2,slave3,slave4

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

[root@client112 conf]# vim amoeba.xml

…………………….(省略)

# 设置amoeba监听的端口(这里如果默认,后面测试需要指定端口,就是这里的端口)3306

<!– # 设置监听的接口,如果不设置,则监听所有的IP[选择默认]127.0.0.1–>

…………………….(省略)

# 提供客户端连接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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。