zoukankan      html  css  js  c++  java
  • Amoeba-mysql读写分离实战

    Amoeba-mysql读写分离实战

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

    先说一下本人环境:

                           

    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

     

    source /etc/profile

    验证jdk:

     

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

     

    先创建目录文件

    Mkdir /usr/local/amoeba

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

     

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

    在amoeba目录下,输入

    ./bin/amoeba

    如果出现

    说明amoeba安装OK,

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

    先看 dbServiers.xml

     

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

     

    这个dbServers.xml 就设置到这里

     

     

    接下来看amoeba.xml

     

     

     

     

    配置完成后保存。

    然后启用amoeba

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

    用ps –ef |grep amoeba 看一下是否启动

     

     

     

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

     

     

    这样就表示登录成功。

     

     

     

     

     

     

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

     

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

    然后进入库  use jdtable;

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

     

    然后在看从上是否同步。

    同步之后关掉主从 stop slave;

    开始验证。

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

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

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

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

     

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

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

     

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

     

                                                                               测试完毕!

  • 相关阅读:
    细说 ASP.NET Cache 及其高级用法【转】
    类变量和实例变量的区别是什么?
    【转】细说Cookie
    【转】细说 Form (表单)
    PHP API中,MYSQL与MYSQLI的持久连接区别
    Extending_and_embedding_php翻译
    linux常见面试题及答案
    手机辐射查询
    php5.3 PHP5.4 PHP5.5 新特性/使用PHP5.5要注意的
    sqoop安装遇到的问题
  • 原文地址:https://www.cnblogs.com/shiyiwen/p/5045099.html
Copyright © 2011-2022 走看看