1.我的环境
Amoeba 2.0.1 — CentOS release 6.8 (Final) — 10.20.49.254
Mysql 5.1.73 — CentOS release 6.4 (Final) — 10.20.48.254
JDK 1.7.0_51

2.软件安装
10.20.49.254
  wget https://jaist.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.0.1-BETA.tar.gz
  mkdir /usr/local/amoeba-2.0.1
  tar xf amoeba-mysql-binary-2.0.1-BETA.tar.gz -C /usr/local/amoeba-2.0.1/

10.20.48.254
  yum install mysql-server -y

 

3.Amoeba配置
vim /usr/local/amoeba-2.0.1/bin/amoeba
  JAVA_HOME=/usr/local/jdk1.7.0_51
vim /usr/local/amoeba-2.0.1/conf/dbServers.xml

复制代码
    #########
    # 第1部分
    #########
    # 可以定义多个抽象服务器,每个抽象服务器都代表一组服务器连接信息
    # 换句话说,就是可以代理多个服务器集群
    <dbServer name="abstractServer" abstractive="true">
        <factoryConfig class="com.meidusa.amoeba.mysql.net.MysqlServerConnectionFactory">
            <property name="manager">${defaultManager}</property>
            <property name="sendBufferSize">64</property>
            <property name="receiveBufferSize">128</property>
            # 关于服务器连接的信息,Amoeba-->Mysql
            <property name="port">3306</property>
            <property name="schema">amoeba</property>
            <property name="user">root</property>
            <property name="password">root</property>
        </factoryConfig>

        <poolConfig class="com.meidusa.amoeba.net.poolable.PoolableObjectPool">
            <property name="maxActive">500</property>
            <property name="maxIdle">500</property>
            <property name="minIdle">10</property>
            <property name="minEvictableIdleTimeMillis">600000</property>
            <property name="timeBetweenEvictionRunsMillis">600000</property>
            <property name="testOnBorrow">true</property>
            <property name="testWhileIdle">true</property>
        </poolConfig>
    </dbServer>

    ##########
    # 第二部分
    ##########
    <dbServer name="server1"  parent="abstractServer">
        <factoryConfig>
            <property name="ipAddress">10.20.48.254</property>
        </factoryConfig>
    </dbServer>

    <dbServer name="server2"  parent="abstractServer">
        <factoryConfig>
            <property name="ipAddress">10.20.49.250</property>
        </factoryConfig>
    </dbServer>

    ##########
    # 第三部分
    ##########
    <dbServer name="multiPool" virtual="true">
        <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
            # 负载均衡算法,如果这个服务器池中有多个服务器的话,该配置才生效
            <property name="loadbalance">1</property>

            # 当前池中的服务器列表,如果只写一个,就表示Amoeba只作为代理出现
            # 如果写两个或多个,就表示Amoeba充当的是负载均衡器
            <property name="poolNames">server1</property>
        </poolConfig>
    </dbServer>
复制代码

 

vim /usr/local/amoeba-2.0.1/conf/amoeba.xml

复制代码
    # 应用程序连接amoeba时需要用到一些信息,这些信息配置在amoeba.xml文件中
    # 这是Amoeba作为代理角色的配置信息
    <proxy>
        <service name="Amoeba for Mysql" class="com.meidusa.amoeba.net.ServerableConnectionManager">
            # 应用程序使用这个端口和IP地址来连接Amoeba
            <property name="port">8066</property>
            <property name="ipAddress">10.20.49.254</property>
            <property name="authenticator">
                <bean class="com.meidusa.amoeba.mysql.server.MysqlClientAuthenticator">
                    # 应用程序使用这个用户名和密码来连接Amoeba
                    <property name="user">root</property>
                    <property name="password">amoeba</property>
                </bean>
            </property>
        </service>
    </proxy>
复制代码

 

4.启动Mysql和Amoeba
/etc/init.d/mysql start
/usr/local/amoeba-2.0.1/bin/amoeba start

5.在数据库中创建schema(这个需要提前创建好)
mysqladmin -uroot password \’root\’
mysql -uroot -proot -e “grant all on *.* to \’root\’@\’%\’ identified by \’root\’;flush privileges”;

6.测试连接
假如我们使用命令行来连接
mysql -h 10.20.49.254 -P 8806 -uroot -proot

使用GUI来连接,比如navicate,也可以

版权声明:本文为gjack原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/gjack/p/8728711.html