CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

实验描述

本实验需要四台主机安装mysql,一台部署Amoeba,一台主数据库服务器,两台从数据库服务器,还需一台主机做客户端访问测试,本实验结束可实现主数据库服务器与从数据库服务器之间数据同步,读写分离(客户机读从服务器的数据,写入的数据存储在主服务器,主服务器再同步给从服务器),负载均衡。

实验拓扑

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

实验环境

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

实验步骤

一、Master同步时间
1、Master安装ntp
yum install ntp -y
2、修改ntp配置文件
vim /etc/ntp.conf
#空白处插入如下内容
server 127.127.10.0        //本地是时钟源//
fudge 127.127.10.0 stratum 8     //设置时间层级为8(限制在15内)
3、开启ntpd服务,关闭防火墙和安全功能
systemctl start ntpd.service 
systemctl stop firewalld.service 
setenforce 0
4、两台数据库从服务器也安装ntp
yum install ntp ntpdate -y
5、开启ntpd服务,关闭防火墙和安全功能,进行时间同步
systemctl start ntpd.service 
systemctl stop firewalld.service 
setenforce 0
/usr/sbin/ntpdate 192.168.10.157    //进行时间同步,此处是MasterIP地址
二、主从三台服务器同时安装mysql,具体过程可参考我之前的博客,此处安装过程省略
三、主从数据库服务器配置
1、编辑Master主配置文件
vim /etc/my.cnf
server-id       = 11      
log-bin=master-bin      //主服务器日志文件//
log-slave-updates=true       //从服务器更新二进制日志//
重启数据库
systemctl restart mysqld.service
2、进入mysql数据库
mysql
GRANT REPLICATION SLAVE ON *.* TO 'myslave'@'192.168.10.%' IDENTIFIED BY '123456';   //为从数据库服务器同步创建用户

FLUSH PRIVILEGES;     //立即生效

show master status;          //查看主数据库服务器状态
+-------------------+----------+--------------+------------------+
| File              | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+-------------------+----------+--------------+------------------+
| master-bin.000001 |      569 |              |                  |
+-------------------+----------+--------------+------------------+
1 row in set (0.00 sec)

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

3、编辑从服务器数据库主配置文件
server-id       = 22     //两台从服务器id一样

relay-log=relay-log-bin         //从主服务器上同步日志文件记录到本地//
relay-log-index=slave-relay-bin.index       //定义relay-log的位置和名称//
4、进入数据库
mysql
change master to master_host='192.168.10.159',master_user='myslave',master_password='123456',master_log_file='master-bin.000001',master_log_pos=569;   //向主服务器同步数据

start slave;   //开启同步

show slave status\G;     //查看状态,这里需要两个yes才可同步,缺一不可

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

5、验证主从同步
#主服务器上新建数据库
create database xxy;
#从服务器上查看
show databases;

Master
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
Slave1
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
Slave2
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

四、Amoeba服务器配置
1、关闭防火墙及安全功能
systemctl stop firewalld.service
setenforce 0
2、将jdk软件包复制到/usr/local目录下,并执行
cp jdk-6u14-linux-x64.bin /usr/local/
./jdk-6u14-linux-x64.bin
#一直回车,直到需要输入的时候输入yes再回车
3、将解压后的jdk文件夹改名
mv jdk1.6.0_14/ jdk1.6
4、编辑/etc/profire,添加jdk、jre、amoeba环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.6
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/bin/:$PATH:$HOME/bin
export AMOEBA_HOME=/usr/local/amoeba
export PATH=$PATH:$AMOEBA_HOME/bin
source /etc/profile   //重新加载环境变量立即生效
5、在/usr/local目录下创建amoeba文件夹
mkdir /usr/local/amoeba
6、将amoeba软件包解压至刚创建的文件夹,并加权限
tar zxvf amoeba-mysql-binary-2.2.0.tar.gz -C /usr/local/amoeba/
chmod -R 755 /usr/local/amoeba/
7、运行amoeba
/usr/local/amoeba/bin/amoeba
#显示amoeba start|stop说明安装成功

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

8、在三台mysql服务器上添加权限开放给amoeba访问
grant all on *.* to test@'192.168.10.%' identified by '123.com';
9、回到amoeba服务器,修改amoeba配置文件
vim /usr/local/amoeba/conf/amoeba.xml
---30行--

 <property name="user">amoeba</property>
----32行---------
 <property name="password">123456</property>

---117-去掉注释-
 <property name="defaultPool">master</property>
 <property name="writePool">master</property>
 <property name="readPool">slaves</property>

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

vi conf/dbServers.xml
--26-29--去掉注释--
 <property name="user">test</property>
 <property name="password">123.com</property>

-----42-主服务器地址---
<dbServer name="master"  parent="abstractServer">
 <property name="ipAddress">192.168.10.161</property>
--52-从服务器主机名-
<dbServer name="slave1"  parent="abstractServer">
--55-从服务器地址-
 <property name="ipAddress">192.168.10.162</property>
 --复制再添加--
<dbServer name="slave2"  parent="abstractServer">
 <property name="ipAddress">192.168.10.165</property>

 <dbServer name="slaves" virtual="true">
 <poolConfig class="com.meidusa.amoeba.server.MultipleServerPool">
--末尾--
<property name="poolNames">slave1,slave2</property>
 </poolConfig>

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

10、开启amoeba
/usr/local/amoeba/bin/amoeba start&
 netstat -anpt | grep java

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

五、测试用的客户端主机配置
1、安装mysql客户端并登陆
yum install -y mysql
mysql -u amoeba -p123456 -h 192.168.10.157 -P8066

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

六、测试
1、客户端可查看到之前创建的xxy数据库

CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

2、验证负载均衡
#从服务器关闭同步
stop slave;
#主服务器添加内容
insert into zang values('1','zhang','this_is_master');
#从服务器则不会同步添加的内容
#在两台从上分别添加如下内容
Slave1:
use xxy;
insert into zang values('2','zhang','this_is_slave1');
Slave2:
use xxy;
insert into zang values('3','zhang','this_is_slave2');
#在客户端上测试----第一次会向从服务器1读数据-第二次会各从2读取
select * from zang;

Master
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
Slave1
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
Slave2
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
客户端
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

3、验证读写分离
#在通过客户端连接数据库后写入的数据只有主会记录,然后同步给从-从服务器不会记录,从而实现了读写分离。
#在客户端写入如下一条记录
insert into zang values('5','zhang','write_test');
#从服务器看不到新插入的数据,因为同步没有开启,只有主服务器上有数据。
select * from zang;

客户端
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
Master
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
Slave1
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集
Slave2
CentOS 7上部署Amoeba实现MySQL主从同步,读写分离,负载均衡高可用群集

转载于:https://blog.51cto.com/13641879/2145155

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
事先声明 下载之前先看描述里面的目录 不然不要在那里吐槽 目录 ........................................................................CentOS 6.5安装部分................................................. 设备需求.................................................. 3 Mysql安装手则 ..................................... 3 一、 下载Mysql软件 .......................................... 3 二、 安装Mysql软件 .......................................... 4 三、 Mysql设置 .......................................... 6 Amoeba安装手则 ..........................................10 一、 下载Amoeba软件..........................................10 安装Amoeba ..........................................10 二、 安装Amoeba依耐关系 .......................................... 安装JDK ..........................................11 三、 配置Amoeba .................................................12 配置dbServers.xml 文件 ......................12 配置amoeba.xml文件 ......................................... 13 启动 Amoeba ...............................................14 ..............................Windows安装部分............... 设备需求 ............................................................................................................................................................................. 16 Mysql安装手则 ..................................................................................................................................................................... 16 一、 下载Mysql软件 .................. 16 二、 Mysql设置 ........................ 17 Amoeba安装手则 ......................19 一、 下载Amoeba软件 ......................................19 二、 安装Amoeba依耐关系 ...............................20 安装JDK ............................................ 20 配置环境变量 ........................... 20 三、 配置Amoeba .............................................. 22 配置dbServers.xml 文件 ............................ 22 配置amoeba.xml文件 ..................... 24 启动 Amoeba ............................... 24

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值