一、角色划分
测试机:
192.168.1.233 //用于写
192.168.1.234 //用于读
192.168.1.237 //数据库代理
192.168.1.238 //openfire服务器
添加真实数据库帐号 (192.168.1.233、192.168.1.234):
mysql> GRANT ALL PRIVILEGES ON openfire.* TO 'amoeba'@'192.168.1.237' IDENTIFIED BY '123456';
二、安装 JAVA 运行环境 (192.168.1.237)
# cd /usr/local
# wget -c http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-linux-i586.bin
# chmod 755 jdk-6u25-linux-i586.bin
# ./jdk-6u25-linux-i586.bin
# mv jdk1.6.0_25 jdk
# vi /etc/profile
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
# source /etc/profile
三、安装 amoeba (192.168.1.237)
# mkdir /usr/local/amoeba
# cd /usr/local/amoeba
# wget -c http://nchc.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/2.x/amoeba-mysql-binary-2.1.0-RC5.tar.gz
# tar -xvzf amoeba-mysql-binary-2.1.0-RC5.tar.gz
# chmod 755 bin/*
# bin/amoeba
# groupadd amoeba
# useradd amoeba -g amoeba -s /sbin/nologin
# chown -R amoeba:amoeba /usr/local/amoeba
# mkdir -p /data/amoeba/logs
# chown -R amoeba:amoeba /data/amoeba
四、配置 amoeba
Amoeba 的配置分成几个文件:
amoeba.xml //需要修改 主配置文件,配置所有数据源及 Amoeba 自身的参数
dbServer.xml //需要修改
access_list.conf //需要修改
rule.xml //数据切分时使用
log4j.xml //需要修改 [修改日志存放路径]
functionMap.xml //无需修改,配置用于解析Query中的函数所对应的Java实现类
ruleFunctionMap.xml //无需修改,配置路由规则中需要使用到的特定函数的实现类
# vi conf/dbServers.xml //参考样例配置文件
# vi conf/amoeba.xml //参考样例配置文件
# mkdir -p /data/amoeba/logs
# vi conf/log4j.xml //修改日志的存放路径
# vi /usr/local/amoeba/bin/amoeba
DEFAULT_OPTS="-server -Xms1024m -Xmx2048m -Xss512k"
# vi /etc/init.d/amoeba //参考样例启动脚本
# chmod +x /etc/init.d/amoeba
# chkconfig --add amoeba
# chkconfig --level 234 amoeba on
五、测试
# mysql -h192.168.1.237 -P8066 -uamoeba -p
修改 openfire 服务器 (192.168.1.238) 配置文件:
<serverURL>jdbc:mysql://192.168.1.237:8066/openfire?useUnicode=true&characterEncoding=utf8</serverURL>
<username>amoeba</username>
<password>123456</password>