linux 下amoeba实现数据库的负载均衡

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
传统型负载均衡 CLB,每月750个小时 15LCU
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
简介: linux 下amoeba实现数据库的负载均衡

1.下载

官网 https://sourceforge.net/projects/amoeba/?source=typ_redirect

由于amoeba 是Java开发的所以还要配置jdk

yum install java -y

添加环境变量 vim /etc/profile

如果是1.7版本  源码安装 源码安装

JAVA_HOME=/usr/lib/jvm/jre-1.7.0-openjdk-1.7.0.161-2.6.12.0.el7_4.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

如果是1.8版本 看清楚自己的版本

JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

source /etc/profile 重新加载配置文件

cd /usr/local/src

wget https://nchc.dl.sourceforge.net/project/amoeba/Amoeba%20for%20mysql/3.x/amoeba-mysql-3.0.5-RC-distribution.zip

解压 unzip 包名  

unzip amoeba-mysql-3.0.5-RC-distribution.zip

直接解压就可用 这里解压移动 到 /user/local/amoeba 下  

mv amoeba-mysql-3.0.5-RC /usr/local/amoeba/

 

2.核心配置就2个

其实可以这么理解,你的项目连接到amoeba ,就相当于一个前台的接待 这个文件是 amoeba.xml 接收所有的sql语句 ,这个文件dbServers.xml相当于跑腿的,你要告诉它那几个是读的服务器,那个是写的。明白了这个就要配置了。

amoeba.xml的配置是给项目用的dbServers.xml是后台和mysql数据库打交道的。

在 /user/local/amoeba/conf 下找到 dbServers.xml 和amoeba.xml

dbServers.xml

 

amoeba.xml

授权给两台服务器

GRANT ALL PRIVILEGES ON *.* TO 'amoeba'@'192.%' IDENTIFIED BY 'DB_Amoeba_yc' WITH GRANT OPTION;

flush privileges

3启动amoeba

 

/usr/local/amoeba/bin/launcher

启动如果报错

大概32行

 

vi /usr/local/amoeba/jvm.properties

JVM_OPTIONS="-server -Xms256m -Xmx1024m -Xss196k -XX:PermSize=16m -XX:MaxPermSize=96m" 替换为

JVM_OPTIONS="-server -Xms1024m -Xmx1024m -Xss256k -XX:PermSize=16m -XX:MaxPermSize=96m"

 

然后在启动 /usr/local/amoeba/bin/launcher 说明启动成功

 

 

 

查看端口。

[root@localhost amoeba]# netstat -anpt | grep java ##查看监听的端口

tcp 0 0 :::8066 :::* LISTEN 1506/java

 

4.连接测试

想想怎么测试呢?读写分离是吧,先把主从停了,写的话写到master数据库, 读从slave数据库(主从停了,写入,和读出的不一样) ,插入一条数据,读出看看。

mysql -h 127.0.0.1  -P8066  -uroot     -proot

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
20天前
|
缓存 监控 Linux
在Linux中,如何进行数据库调优?
在Linux中,如何进行数据库调优?
|
20天前
|
关系型数据库 MySQL Linux
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
在Linux中,如何配置数据库服务器(如MySQL或PostgreSQL)?
|
20天前
|
监控 Linux 应用服务中间件
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
21天前
|
负载均衡 应用服务中间件 Linux
在Linux中,如何配置负载均衡器?
在Linux中,如何配置负载均衡器?
|
22天前
|
SQL 关系型数据库 MySQL
在Linux中,如何备份和恢复MySQL数据库?
在Linux中,如何备份和恢复MySQL数据库?
|
22天前
|
Linux 数据库 数据安全/隐私保护
|
17天前
|
存储 前端开发 关系型数据库
Linux 技术架构:前端、后端与数据库的完美融合
【8月更文挑战第25天】本文深入剖析了Linux操作系统的技术架构,重点介绍了前端、后端及数据库三大核心组成部分。Linux前端技术不仅涵盖了图形用户界面(GUI),包括GNOME、KDE等桌面环境,还涉及HTML、CSS、JavaScript等Web前端技术及其相关框架。后端技术则聚焦于Python、Java等多种编程语言、Apache和Nginx等Web服务器以及MySQL、PostgreSQL等数据库管理系统。Linux数据库技术覆盖了关系型和非关系型数据库,如MySQL、MongoDB等,并提供了多种数据库管理工具。
39 0
|
19天前
|
负载均衡 监控 网络协议
在Linux中,负载均衡的作用有哪些?
在Linux中,负载均衡的作用有哪些?
|
19天前
|
负载均衡 应用服务中间件 Linux
在Linux中,Nginx如何实现负载均衡分发策略?
在Linux中,Nginx如何实现负载均衡分发策略?
|
19天前
|
负载均衡 网络协议 Linux
在Linux中,负载均衡的原理是什么?
在Linux中,负载均衡的原理是什么?