amoeba的安装使用转自:http://www.aslibra.com/blog/post/amoeba_mysql_proxy_rw_split.php
1 安装java环境,需要Java SE 1.5 或以上
2 配置xml文件
下载地址:
解压就可以使用的,顺便说一下,打包的习惯似乎不是太好,最好解压后是自己的文件夹
运行很简单 bin/amoeba 即可,后台运行 bin/amoeba &
如果没有配置JAVA_HOME,则会有如下提示:
[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,文件下载地址:
下载回来的是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。
读写分离的配置示例片段:
....
....
....
....
1
slave1,slave2,slave3
1500
master
master
multiPool
另外一个需要修改一下的是 conf/log4j.xml,定义日志内容:
引用
在可用性测试已经完成的情况下,建议将log4j.xml 中关于日志输出level为debug的全部设置成warn或者error 级别。
日志是非常消耗系统性能的,在没有必要的情况下可以不使用debug。
阅读(2382) | 评论(0) | 转发(0) |