作者:记者刘方斌_304 | 来源:互联网 | 2018-07-10 09:42
更多博文请关注:没有伞的孩子必须努力奔跑(www.xuchanggang.cn)一、Amoeba的简述:[来自百度百科]Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接
更多博文请关注:没有伞的孩子必须努力奔跑(www.xuchanggang.cn)一、Amoeba的简述:[来自百度百科]Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接
当前测试环境使用的amoeba软件下载地址:
amoeba参考手册:
amoeba项目代码:
(4).简要原理图:
2.我们这里将amoeba相关软件放在/tmp目录下,这里我们先配置JDK
# 解压JDK软件到/usr/local目录下
[root@centos tmp]# tar -xf jdk-7u15-linux-x64.tar.gz -C /usr/local/
# 进入相应目录,并建立java目录
[root@centos tmp]# cd /usr/local/
[root@centos local]# mkdir java
# 将解压出来的内容移到java目录
[root@centos local]# mv jdk1.7.0_15/* java
# 设置java环境变量
[root@centos local]# echo 'export JAVA_HOME=/usr/local/java' >> ~/.bashrc
[root@centos local]# . ~/.bashrc
# 测试jdk是否正确安装
[root@centos local]# java -version
# *******************************
# 以下这个方法设置JDK[在下面设置amoeba时,会覆盖,所以这里的配置文件,以最下面amoeba的配置为准]
[root@centos java]# echo $JAVA_HOME
[root@centos java]# vim /etc/profile
# 在末尾添加
export JAVA_HOME=/usr/locla/java
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
[root@centos java]# source /etc/profile
# *******************************
3.配置amoeba中的dbServer.xml(后端mysql 服务器连接配置)
[root@centos java]# cd /tmp/
# 建立相应amoeba目录
[root@centos tmp]# mkdir /usr/local/amoeba
# 将压缩包解压到指定目录
[root@centos tmp]# tar -xf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba
[root@centos tmp]# cd /usr/local/amoeba/
[root@centos amoeba]# cd conf/
# 准备修改配置文件
#/* 以下部分为注解
#/* Amoeba总共有7个配置文件,分别如下:
#/* Amoeba主配置文件($AMOEBA_HOME/conf/amoeba.xml),用来配置Amoeba服务的基本参数,如Amoeba主机地址、端口、认证方式、用于连接的用户名、密码、线程数、超时时间、其他配置文件的位置等。
#/* 数据库服务器配置文件($AMOEBA_HOME/conf/dbServers.xml),用来存储和配置Amoeba所代理的数据库服务器的信息,如:主机IP、端口、用户名、密码等。
#/* 切分规则配置文件($AMOEBA_HOME/conf/rule.xml),用来配置切分规则。
#/* 数据库函数配置文件($AMOEBA_HOME/conf/functionMap.xml),用来配置数据库函数的处理方法,Amoeba将使用该配置文件中的方法解析数据库函数。
#/* 切分规则函数配置文件($AMOEBA_HOME/conf/ruleFunctionMap.xml),用来配置切分规则中使用的用户自定义函数的处理方法。
#/* 访问规则配置文件($AMOEBA_HOME/conf/access_list.conf),用来授权或禁止某些服务器IP访问Amoeba。
#/* 日志规格配置文件($AMOEBA_HOME/conf/log4j.xml),用来配置Amoeba输出日志的级别和方式。
# 配置后端mysql 服务器连接[dbServer.xml]
[root@centos conf]# vim dbServers.xml
.........................(省略)
${defaultManager}
64
128
# 设置 mysql 数据库的端口
3306
# 设置缺省的数据库,当连接amoeba时,操作表必须显式的指定数据库名,即采用dbname.tablename的方式,
# 不支持 use dbname指定缺省库,因为操作会调度到各个后端dbserver
kongzhong
# 设置amoeba连接后端数据库服务器的账号和密码,需在后端数据库器上创建该用户,并授权amoeba连接
kongzhong123
kongzhong123
# 最大连接数[默认]
500
# 最大空闲连接数[默认]
500
10
600000
600000
true
true
true
# 设置一个后端的dbServer,名为master ,,这个可以随便取,但是为了明确其含义,最好给予特殊含义的单词,这里是主DB SERVER
# 设置这台DB server 的ip地址
192.168.1.102
# 再设置一台后端mysql数据库,这里叫slave,名字需要唯一[这里可以创建N个后端数据库,只要复制下面
...]
# 设置这台DB server 的ip地址
192.168.1.100
# 指定一个虚拟的dbServer,将上面定义的dbserver加入这个虚拟的dbserver,相当于组成一个组[这里我们将读的数据库组成一个组]
# 这里 需要将 改成自己想要取的名字,这个名字也需要有含义,后面会用到
# 选择调度算法 1 是轮询 2 是权重 3 是HA 这里选择1 轮询
1
# 负载均衡,slave1,slave2当成2个服务器进行调度,这模拟量加权的调度算法。
# 注意这里使用的dbserver必须是已经定义了的,可以写多个,如slave1,slave2
slave