Amoeba-mysql读写分离实战

         Amoeba用途有很多,这里看标题我们就先说读写分离,因为我也只会这个。Amoeba定义为国内的,开源的。目前(20151020日)我们用amoeba2.2版本来做。

先说一下本人环境:wKioL1Ym5zbyIxExAADay0VnuMg256.jpg

Keepalived那个先不说。

Mysql 5.6

Centos 6.4

Mysql一主两从已OK

Amoeba 2.2.x

主从我就不讲了,网上N多资料。

Amoeba下载地址:http://sourceforge.net/projects/amoeba/files/Amoeba%20for%20mysql/

 

由于Amoeba需要用到jave se 所以我们需要安装jdk环境。

最新的1.8 可用。

安装jdk

rpm -ivh jdk-8u60-linux-x64.rpm

wKiom1Ym50jR_QM_AAEV4426fbg217.jpg

source /etc/profile

验证jdk

 wKiom1Ym52qSsKYOAAEhME4H_Cc727.jpg

Jdk就完事了,现在开始amoeba的安装。

 

先创建目录文件

Mkdir /usr/local/amoeba

在将下载文件复制到刚刚创建的目录,然后解压。

wKioL1Ym57rCmWhXAAFbVfwqpww932.jpg

然后我们进入conf文件,这里的xml为储存amoeba设置连接mysql的数据

amoeba目录下,输入

./bin/amoeba

wKiom1Ym56mhWXu9AABAvOaodL4427.jpg

如果出现说明amoeba安装OK

 

接下来设置amoeba的参数,设置参数的文件在conf目录下的amoeba.xmldbServers.xml两个文件。

先看 dbServiers.xml

wKioL1Ym5-uyJ-yDAARt_eq2r5A452.jpg

grant all on *.* to root@'192.168.0.191' identified by "123456";这条命令是需要在客户端运行的,让amoeba调度器能够连接我们的数据库并做操作

wKiom1Ym5-HyttdUAAPoUDHtH64447.jpg

这个dbServers.xml就设置到这里

 

 

接下来看amoeba.xml

 wKiom1Ym5_2SAOlWAAMQ1eTXXC4730.jpgwKioL1Ym6D_h4ZprAAN8fzp7MGk709.jpg

 

配置完成后保存。

然后启用amoeba

/usr/local/amoeba/bin/amoeba &       &表示在后台运行

ps –ef |grepamoeba 看一下是否启动

 

 

 

     windows 客户端验证是否可以登录amoeba上;

wKioL1Ym6F7hkcY1AABGN6mSdvA342.jpg

这样就表示登录成功。

 wKiom1Ym6E-A4lJoAAEF1P-PbwU124.jpg

 

 

 

 =======================================================================

接下来就是验证读写分离了

 

在停掉主从之前先在主上创建一个表名为create database jdtable

然后进入库  use jdtable;

创建一个表 createtable dashen (id int(10) ,name varchar(10),address varchar(20));

 

然后在看从上是否同步。

同步之后关掉主从 stopslave;

开始验证。

我们在第一个从上也就是 187插入一条语句:

insert into dashen values('1','syw','slave-187');

在另外一个从上也插入一条语句:

insert into dashen values('2','syw','slave-188');          虽然IP190

 

然后我们用windows登陆amoeba这个调度器

使用select *from jdtable.dashen;来查询,看一下amoeba会调用之前amoeba.xml这里面的Slavepool这个模块的循环,也可以说是负载均衡。Slave1 查询一次,slave2查询两次。

wKiom1Ym6JLiPY3uAADkomgqvyw062.jpg

amoeba上插入一条数据时候,amoeba也会根据amoeba.xml里面配置写的模块来写入相应的数据库中。

==================================================================================== 

                                                                           测试完毕! 

                                                by:shiyiwen.请勿转载