首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

amoeba-mysql的装配使用和读写分离(转)

2012-11-26 
amoeba-mysql的安装使用和读写分离(转)http://blog.csdn.net/chen861201/article/details/6977158转载? 自

amoeba-mysql的安装使用和读写分离(转)

http://blog.csdn.net/chen861201/article/details/6977158

转载? 自己留着看? 地址http://www.aslibra.com/blog/post/amoeba_mysql_proxy_rw_split.php

?

?

?

amoeba真的是不错的稳定而灵活的数据库解决方案,阿里巴巴的技术陈思儒开始的一个开源项目,它是分布式数据库Proxy解决方案。

About Amoeba

[root@aslibra amoeba-mysql]# bin/amoeba
Error: JAVA_HOME environment variable is not set.

如果你是比1.5低,比如1.4的,运行会有错误提示:

[root@aslibra amoeba-mysql]# bin/amoeba?
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/meidusa/amoeba/mysql/server/MysqlProxyServer (Unsupported major.minor version 49.0)
????????at java.lang.ClassLoader.defineClass0(Native Method)
????????at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
????????at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
.....

安装配置java环境对于不玩java的人不太熟悉,我也不是行家,把自己的配置过程作一下分享:

首先根据你的操作系统下载相应的文件,比如jdk-1.5.0,文件下载地址:
http://java.sun.com/javase/downloads/index.jsp

下载回来的是bin文件,加执行属性,然后执行后就能有一个rpm文件,然后安装即可:

[root@aslibra amoeba-mysql]# rpm -ivh jdk-1_5_0_15-linux-i586.rpm
Preparing...????????????????########################################### [100%]
????????package jdk-1.5.0_15-fcs is already installed

配置JAVA_HOME变量:

[root@aslibra amoeba-mysql]# cd /usr/java/
[root@aslibra java]# ll
total 16
drwxr-xr-x??8 root root 4096 Apr 27 17:50 j2sdk1.4.2_15
lrwxrwxrwx??1 root root?? 13 Apr 27 17:52 jdk -> j2sdk1.4.2_15
drwxr-xr-x??9 root root 4096 May 13 09:14 jdk1.5.0_15
[root@aslibra java]# rm jdk
rm: remove symbolic link `jdk'? y
[root@aslibra java]# ln -s jdk1.5.0_15/ jdk
[root@aslibra java]# ll
total 16
drwxr-xr-x??8 root root 4096 May 13 09:20 j2sdk1.4.2_15
lrwxrwxrwx??1 root root?? 12 May 13 09:21 jdk -> jdk1.5.0_15/
drwxr-xr-x??9 root root 4096 May 13 09:14 jdk1.5.0_15

可以编辑 /etc/profile以便启动时变量生效,末尾加上

##############??java??###########

JAVA_HOME=/usr/java/jdk
PATH=$PATH:JAVA_HOME/bin
export JAVA_HOME PATH

依次运行此三句,配置好xml后,即可立刻使用amoeba:

[root@aslibra amoeba-mysql]# bin/amoeba
log4j:WARN log4j config load completed from file:/Data/apps/amoeba-mysql/conf/log4j.xml
log4j:WARN ip access config load completed from file:/Data/apps/amoeba-mysql/conf/access_list.conf
2009-05-13 09:22:04,306 INFO??net.ServerableConnectionManager - Server listening on /192.168.1.5:9306.

配置amoeba:

conf/amoeba.xml 配置mysql数据库,简单说明一下:

1 server节点定义amoeba为接受client访问的数据库,可以当作是mysql看待的,用户名和密码是访问时使用的,这个似乎不能定义多个用户名密码,也就是只有一个权限控制,这个对于多应用似乎不大方便。
2 dbServerList里面可以定义很多实际的mysql数据库,增加dbServer节点即可,这里的用户名密码是作为amoeba操作数据库使用的,要有足够权限。dbServer可以是虚拟的,比如要做负载均衡时可用定义多个数据库归属到此虚拟数据库。
3 queryRouter节点定义读写的分配情况,也就是读写该发往那个dbServer。

读写分离的配置示例片段:

<dbServerList>
??<dbServer name="master">
??....
??</dbServer>
??<dbServer name="slave1">
??....
??</dbServer>
??<dbServer name="slave2">
??....
??</dbServer>
??<dbServer name="slave3">
??....
??</dbServer>????
??<dbServer name="multiPool" virtual="true">
????<poolConfig style="font-size: 14px; line-height: 26px; text-align: left;">引用在可用性测试已经完成的情况下,建议将log4j.xml 中关于日志输出level为debug的全部设置成warn或者error 级别。
日志是非常消耗系统性能的,在没有必要的情况下可以不使用debug。
参考:关于amoeba 性能测试注意的几点

不算复杂的处理就完成了amoeba的配置和使用了,更加复杂的应用请参考官网介绍资料:
amoeba 中文文档下载地址:http://amoeba.meidusa.com/amoeba.pdf

热点排行