Chinaunix首页 | 论坛 | 博客
  • 博客访问: 128013
  • 博文数量: 23
  • 博客积分: 560
  • 博客等级: 中士
  • 技术积分: 215
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-07 22:58
文章分类

全部博文(23)

文章存档

2012年(6)

2011年(17)

分类: Mysql/postgreSQL

2011-08-15 12:05:38

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) |
给主人留下些什么吧!~~