MySQL配置Amoeba中间件

Amoeba介绍

Amoeba是一个以MySQL为底层数据存储,并对应用提供MySQL协议接口的proxy。它集中地响应应用的请求,依据用户事先设置的规则,将SQL请求发送到特定的数据库上执行。

基于此可以实现负载均衡、读写分离、高可用性等需求。

Amoeba相当于一个SQL请求路由器,目的是为负载均衡、读写分离、高可用性提供机制,而不是完全实现它们。用户需要结合使用MySQL的 Replication等机制来实现副本同步等功能。

环境配置

Amoeba服务器ip:192.168.77.146

Amoeba环境条件

源码环境:gcc相关环境,java环境,本次用到的是java1.8

# 安装gcc环境
[root@localhost ~]# yum -y install gcc*
# 导入相关的压缩包
[root@localhost ~]# ls
amoeba-mysql-3.0.5-RC-distribution.zip  anaconda-ks.cfg  jdk-8u271-linux-x64.tar.gz
# 安装java环境
[root@localhost ~]# mkdir /usr/local/jdk1.8
[root@localhost ~]# tar -xf jdk-8u271-linux-x64.tar.gz -C /usr/local/
[root@localhost ~]# mv /usr/local/jdk1.8.0_271 /usr/local/jdk1.8
# 配置java环境
[root@localhost ~]# vim /etc/profile
# java环境配置,放在profile文件的最后
JAVA_HOME=/usr/local/jdk1.8
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export CLASSPATH

# 验证
[root@localhost ~]# java -version
java version "1.8.0_271"
Java(TM) SE Runtime Environment (build 1.8.0_271-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.271-b09, mixed mode)

# 配置防火墙规则,开启8066端口
[root@localhost ~]# firewall-cmd --add-port=8066/tcp --permanent
[root@localhost ~]# firewall-cmd --reload

安装Amoeba

[root@localhost ~]# unzip amoeba-mysql-3.0.5-RC-distribution.zip
[root@localhost ~]# mv amoeba-mysql-3.0.5-RC /usr/local/amoeba
配置Amoeba配置文件
[root@localhost ~]# cd /usr/local/amoeba
# 修改主配置文件
[root@localhost amoeba]# vim conf/amoeba.xml

在这里插入图片描述

在这里插入图片描述

配置dbServers.xml,设置数据库,登录MySQL的账号和密码
# 修改数据库配置文件
[root@localhost amoeba]# vim conf/dbServers.xml

在这里插入图片描述

在这里插入图片描述

启动Amoeba

[root@localhost amoeba]# ./bin/launcher

在这里插入图片描述

注意事项

1).在做Master/Slave的时候,当删除了master的帐号,如果想要看到slave的效果,那就需要重启master的数据库服务再去看slave的status;(但是当salve从不可用到master可用了,不用重启master的数据库服务,slave也能看到效果)
2).在做Master/Slave的时候,我们有两台Salve,而且是内网的机器,所以使用了“192.168.1.%”这样的方式来创建用户,在一定的程度上保障帐号的安全性,又方便管理,使用“*”是错误的;
3).对于多Slave的帐号问题,还可以有其它方式来创建帐号的,就是在Master为每个Slave创建独立的帐号和密码;
4)修改log4jxml取消日志文件生成(太大了,磁盘很容易满)<param name="file" value="
${amoeba.home}/logs/project.log"/>改成:<param name="file" value="<![CDATA[${amoeba.home}/logs/project.log>/dev/null]]>"/>
5). 性能优化,打开bin/amoeba,DEFAULT_OPTS="-server -Xms256m-Xmx256m -Xss128k”改成:DEFAULT_OPTS="-server -Xms512m -Xmx512m-Xmn100m -Xss1204k"
6). loadbalance元素设置了loadbalance策略的选项,这里选择第一个“ROUNDROBIN”轮询策略,该配置提供负载均衡、failOver、故障恢复功能。poolNames定义了其中的数据库节点配置(当然也可以是虚拟的节点)。此外对于轮询策略,poolNames还定义了其轮询规则,比如设置成“Slavel,Slavel,Slave2”那么Amoeba将会以两次Slave1,一次Slave2的顺序循环对这些数据库节点转发请求。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值