一.amoeba介绍
网址:http://docs.hexnova.com/amoeba/

二.安装java se1.5

三.安装amoeba2.2.0
1.下载地址:http://sourceforge.net/projects/amoeba/files/,下载amoeba-mysql-binary-2.2.0.tar.gz
2.解压后直接放入/usr/local/amoeba(该路径随意)

四.配置amoeba
*注意以下配置中,请记得将xml的注释去掉,密码项默认是注释的
1.amoeba配置
#vi /usr/local/amoeba/conf/amoeba.xml

配置端口,服务ip地址,登录用户名和密码
<property name="port">8066</property>
<property name="ipAddress">192.168.1.84</property>
<property name="user">testuser</property>
<property name="password">password</property>

2.测试
#mysql -u testuser -p -h 192.168.1.84 -P 8066

3.配置dbServers.xml
#vi /usr/local/amoeba/conf/dbServers.xml
配置数据库,账号和密码(该账号和密码是mysql的)
<property name="schema">dba_db</property>
<property name="user">test</property>
<property name="password">123456</property>

4.修改dbServers.xml,配置mysql服务器的ip地址和别名:
<dbServer name="master"  parent="abstractServer">
                <factoryConfig>
                        <!-- mysql ip -->
                        <property name="ipAddress">192.168.1.126</property>
                </factoryConfig>
</dbServer>

<dbServer name="slave"  parent="abstractServer">
                <factoryConfig>
                        <!-- mysql ip -->
                        <property name="ipAddress">127.0.0.1</property>
                        <property name="user">mytest</property>
                        <property name="password">pwd</property>
                </factoryConfig>
</dbServer>

因为slave的账号和密码不同,所以在slave节点下再次设置账号密码

5.修改dbServers.xml,设置ROUNDROBIN(轮询策略)
<dbServer name="virtualSlave" virtual="true">
                <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
                        <!-- Load balancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
                        <property name="loadbalance">1</property>

<!-- Separated by commas,such as: server1,server2,server1 -->
                        <property name="poolNames">slave,slave,master,master</property>
                </poolConfig>
</dbServer>

6.修改amoeba.xml,设置读写分离
在<queryRouter class="com.meidusa.amoeba.mysql.parser.MysqlQueryRouter">段设置
<property name="defaultPool">master</property>
<property name="writePool">master</property>
<property name="readPool">virtualSlave</property>
<property name="needParse">true</property>

7.重启amoeba
#/usr/local/amoeba/bin/amoeba start

8.测试
#mysql -u testuser -p -h 192.168.1.84 -P 8066

五.优化
1.修改log4j.xml 取消日志文件生成(太大了,磁盘很容易满),<param name="file" value="amoeba.home/logs/project.log"/>改成:<paramname="file"value="<![CDATA[{amoeba.home}/logs/project.log>/dev/null]]>"/>
2.性能优化,打开bin/amoeba,DEFAULT_OPTS="-server -Xms256m -Xmx256m -Xss128k"改成:DEFAULT_OPTS="-server -Xms512m -Xmx512m -Xmn100m -Xss1204k"
3.loadbalance元素设置了loadbalance策略的选项,这里选择第一个“ROUNDROBIN”轮询策略,该配置提供负载均衡、failOver、故障恢复功能。poolNames定义了其中的数据库节点配置(当然也可以是虚拟的节点)。此外对于轮询策略,poolNames还定义了其轮询规则,比如设置成“Slave1,Slave1,Slave2”那么Amoeba将会以两次Slave1,一次Slave2的顺序循环对这些数据库节点转发请求。

六.性能测试
#/usr/local/amoeba/bin/benchmark -P 8066 -c 1000 -f ../benchmark/query.xml -h 192.168.1.84 -n 100000 -u testuser -p password

query.xml如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties version="1.0">
        <entry key="class">com.meidusa.amoeba.mysql.net.packet.QueryCommandPacket</entry>
        <entry key="command">3</entry>
        <entry key="query"><![CDATA[
SELECT * FROM dba_db.test WHERE id=191
        ]]>
        </entry>
</properties>

参考文章:http://www.cnblogs.com/lhj588/archive/2012/11/19/2777897.html

centos安装配置amoeba以及测试的更多相关文章

  1. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  2. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  3. 阿里云服务器Linux CentOS安装配置(六)resin多端口配置、安装、部署

    阿里云服务器Linux CentOS安装配置(六)resin多端口配置.安装.部署 1.下载resin包 http://125.39.66.162/files/2183000003E08525/cau ...

  4. 阿里云服务器Linux CentOS安装配置(五)jetty配置、部署

    阿里云服务器Linux CentOS安装配置(五)jetty配置.部署 1.官网下载jetty:wget http://repo1.maven.org/maven2/org/eclipse/jetty ...

  5. 阿里云服务器Linux CentOS安装配置(三)yum安装mysql

    阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...

  6. 阿里云服务器Linux CentOS安装配置(二)yum安装svn

    阿里云服务器Linux CentOS安装配置(二)yum安装svn 1.secureCRT连接服务器 2.先创建一个文件夹,用来按自己的习惯来,用来存放数据 mkdir /data 3.yum安装sv ...

  7. 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器

    阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps ...

  8. CentOS安装配置Hadoop 1.2.1(伪分布模式)

    CentOS安装配置Hadoop1.2.1 1.下载安装文件 下载2个安装文件 JAVA环境:jdk-6u21-linux-i586.bin Hadoop环境:hadoop-1.2.1.tar.gz ...

  9. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

随机推荐

  1. js小例子(多字溢出,省略号表示)

    实现了div中字数较多,显示不下的时候,用省略号来表示,并且可以展开和收起: <html> <head> <meta http-equiv="Content-T ...

  2. aapt命令介绍及常用命令实践

    D:\>aapt -h ERROR: Unknown command '-h' Android Asset Packaging Tool Usage: aapt l[ist] [-v] [-a] ...

  3. Angular JS笔记

    1.引导程序 使用ng-app开始引导一个程序:标记了AngularJS应用的作用域 <!doctype html> <html lang="en" ng-app ...

  4. SPOJ TSUM Triple Sums(FFT + 容斥)

    题目 Source http://www.spoj.com/problems/TSUM/ Description You're given a sequence s of N distinct int ...

  5. Enum(枚举类型)的基本应用

    一.前言 在我们日常的开发过程中,我们经常定义使用常量:在Effective Java建议用枚举来替换常量的使用,提高我们代码的质量,总结一下枚举定义常量的基本使用 二.枚举类型说明      1.枚 ...

  6. Boom.TV完成350万美元融资,目标直指VR电竞直播

    3D在线电竞直播平台Boom.tv刚刚宣布已经完成350万美元的融资,该平台旨在让观众在任何设备以任意视角观看电竞比赛,并将支持VR版本. 这家位于美国加州红木城的初创公司成立于2015年,由Gupt ...

  7. 假装有题目 & Trie+贪心

    题意: 从N个数中选出两个使其异或值最大. SOL: 建立一个01字典树,然后对每一个数在树上贪心即可...Trie一个挺好的运用,复杂度O(n*n的位数) CODE: #include <cs ...

  8. [知识点]Cantor展开

    // 此博文为迁移而来,写于2015年3月14日,不代表本人现在的观点与看法.原始地址:http://blog.sina.com.cn/s/blog_6022c4720102vtyo.html 1.含 ...

  9. 团队计划backlog

    http://www.cnblogs.com/threemonkey/p/5388439.html

  10. CodeForces 670D1 暴力或二分

    今天,开博客,,,激动,第一次啊 嗯,,先来发水题纪念一下 D1. Magic Powder - 1   This problem is given in two versions that diff ...