Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。基于此可以实现负载均衡、读写分离、高可用性等需求。
Amoeba相当于一个SQL请求的路由器,目的是为负载均衡、读写分离、高可用性提供机制,而不是完全实现它们。用户需要结合使用MySQL的 Replication等机制来实现副本同步等功能。amoeba对底层数据库连接管理和路由实现也采用了可插拨的机制,第三方可以开发更高级的策略类来替代作者的实现。
Tips:slave上涉及到复制的数据库不可以写,避免master和slave数据不一致
环境
两台centos6.5服务器
master ip: 192.168.44.137
slave ip:192.168.44.139
Amoeba置于master服务器上,也可单独放置
一.安装Amoeba
tar -xzvf amoeba-mysql-3.0.5-RC-distribution.zip
mv amoeba-mysql-3.0.5-RC /opt/amoeba
vim /etc/profile
|
|
若启动报错:The stack size specified is too small, Specify at least 228k
通过属性文件修改JVM参数
vim jvm.properties
|
|
二.配置Amoeba
按照http://blog.csdn.net/tshangshi/article/details/52799934,先完成mysql的主从备份部署
1.首先数据库需要拥有一个可远程登陆的用户12mysql> grant all privileges on *.* to amoeba@'%' identified by '1234';mysql> flush privlieges;
2.修改dbServers.xml配置文件
vim conf/dbServers.xml
|
|
3.配置amoeba.xml主配置文件
vim conf/amoeba.xml
|
|
4.启动amoeba
launcher &
登入amoeba
mysql -utest -predhat -h127.0.0.1 -P8066
|
|