1. 安装JDK
Amoeba是Java编写的,运行需要JDK环境,可以通过#echo $JAVA_HOME看是否安装配置了JDK,如果没有,参考如下方法:
下载软件包
uname -r 检查系统内核信息
mkdir -p /tmp/src && cd /tmp/src
x86_64 请下载
wget http://docs.minunix.com/web/jdk-6u35-linux-x64.bin(该地址已失效)
i386系列 请下载
wget http://docs.minunix.com/web/jdk-6u35-linux-i586.bin
注:作者系统为X86_64 ,所以以x86_64 演示,步骤都一样的!
安装必备组件信息:
yum -y install glibc*
下载完成之后,修改文件属性,赋予可执行权限,然后执行程序予以安装:
chmod +x jdk-6u35-linux-x64.bin
./jdk-6u35-linux-x64.bin
注:此处可能会出现以下问题:
/lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
此问题是因为您没有安装glibc-* ,只需要安装glibc 即可解决,
yum -y install glibc*
安装完成之后,执行下列命令:
#cp -rf jdk1.6.0_35 /usr/local/jdk
#vim /etc/profile.d/java.sh \\\输入下列内容
JAVA_HOME="/usr/local/jdk"
CLASS_PATH="$JAVA_HOME/lib:$JAVA_HOME/jre/lib"
PATH=".:$PATH:$JAVA_HOME/bin"
export JAVA_HOME
###保存退出,并执行下面的命令使配置生效
#source /etc/profile.d/java.sh
#java -version \\\检查java版本
2.安装和验证Amoeba for MySQL
首先,在http://sourceforge.net/projects/amoeba/files/(Amoeba在SourceForge的主页)下载Amoeba在SourceForge的主页)上下载Amoeba for MySQL的安装包,目前的最新版本为amoeba-mysql-binary-2.1.0-RC5。
解压缩:
[root@server6usr]# cd local
[root@server6local]# mkdir amoeba
[root@server6~]#tar -zxvf amoeba-mysql-binary-2.1.0-RC5.tar.gz -C /usr/local/amoeba
我下载到的文件名为amoeba-mysql-binary-2.1.0-RC5.tar,将该文件解压到需要的位置[tar –zxvf amoeba-mysql-binary-2.1.0-RC5.tar /usr/local/amoeba]即可。
可使用命令[/usr/local/amoeba/bin/amoeba]验证Amoeba是否安装成功。
3.Amoeba在mysql-mmm架构下的配置
配置的除了amoeba的监听IP外其他的均采用上面mmm分配的浮动IP,因为当出现故障后,浮动IP会自动分配到正常的server上。amoeba.xml的配置如下:
在这里只修改两个地方:
<propertyname="port">8066</property>
<!-- bind ipAddress-->
<!--
//-- proxy server绑定的IP要设置成0.0.0.0,因为后面还要监听VIP
<propertyname="ipAddress">0.0.0.0</property>
-->
<propertyname="user">root</property>
//mysql的用户名
<propertyname="password">root</property>
//该名称于 dbservers.xml里面的属性字段匹配
<propertyname="readPool">virualslave</property>
然后配置dbServers.xml
[root@server6conf]# vidbServers.xml
<!-- mysql port -->
<propertyname="port">3306</property>
<!-- mysql schema -->
<propertyname="schema">test</property>
<!-- mysql user -->
<propertyname="user">root</property>
<!-- mysql password
<property name="password">root</property>
-->
</dbServer>
<dbServername="server1" parent="abstractServer">
<factoryConfig>
<!--mysql ip -->
<property name="ipAddress">192.168.10.105</property>
</factoryConfig>
</dbServer>
<dbServer name="server2" parent="abstractServer">
<factoryConfig>
<!-- mysql ip-->
<propertyname="ipAddress">192.168.10.101</property>
</factoryConfig>
</dbServer>
<dbServer name="server3" parent="abstractServer">
<factoryConfig>
<!-- mysql ip -->
<propertyname="ipAddress">192.168.10.102</property>
</factoryConfig>
</dbServer>
<dbServer name="server4" parent="abstractServer">
<factoryConfig>
<!-- mysql ip-->
<propertyname="ipAddress">192.168.10.103</property>
</factoryConfig>
</dbServer>
<dbServer name="server5" parent="abstractServer">
<factoryConfig>
<!-- mysql ip -->
<propertyname="ipAddress">192.168.10.104</property>
</factoryConfig>
</dbServer>
<dbServer name="virtualslave" virtual="true">
<poolConfigclass="com.meidusa.amoeba.server.MultipleServerPool">
<!-- Loadbalancing strategy: 1=ROUNDROBIN , 2=WEIGHTBASED , 3=HA-->
<propertyname="loadbalance">1</property>
<!--Separated by commas,such as: server1,server2,server1 -->
<propertyname="poolNames">server1,server2,server3,server4,server5</property>
</poolConfig>
</dbServer>
4.安装配置好之后先要启动amoeba
[root@server6 bin]# /usr/local/amoeba/bin/amoeba start
[root@server6 ~]# ps aux|grep amoeba
root 6720 2.4 2.9 674368 30480 pts/2 Sl+ 01:03 0:00 /usr/java/jdk1.6.0_37/bin/java -server -Xms256m -Xmx512m -Xss512k-Damoeba.home=/usr/local/amoeba-Dclassworlds.conf=/usr/local/amoeba/bin/amoeba.classworlds -classpath/usr/local/amoeba/lib/classworlds-1.0.jar org.codehaus.classworlds.Launcherstart
root 6815 0.0 0.0 61232 748 pts/3 R+ 01:03 0:00 grep amoeba
//连接mysql 测试此时主要8066联通的就表示amoeba安装成功。(amoeba主要是监控8066端口)
[root@server6 ~]# mysql -uroot -proot -h192.168.10.132 -P8066
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2719739
Server version: 5.1.45-mysql-amoeba-proxy-2.1.0-RC5
Copyright (c) 2000, 2011, Oracle and/or its affiliates.All rights reserved.
oracle is a registered trademark of Oracle Corporationand/or its
affiliates. Other names may be trademarks of theirrespective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear thecurrent input statement.
mysql>