搭建redis主从复制

要开启主从架构,master一定要开启持久化机制(如果不开启,一旦 slave数据被清空,就是灾难性的)

一般 master下有一个或者两个 slave ,但是slave下也可以有slave:

现在从一台虚拟机上克隆两个,改变其静态ip地址:06,07,08这三个。

以06作为master ,07 和08作为 slave 。

使用命令:info replication 来查看信息:(三台都是这,因为:还没有配置主从)

扫描二维码关注公众号,回复: 10290781 查看本文章

配置slave:

1.先进入 /usr/local/redis/redis.conf 配置文件:

vi /usr/local/redis/redis.conf

2.搜索replication

3.在其下方:默认的是被注释了,replicaof 是自己又复制了一份,

这是确定其master的port和ip【必填的】

4.填写redis master的密码:

5.设置为只读,不能写(默认的):这样就做到了读写分离

6.保存退出,进入working【自己设置的redis工作区间】删除 dump.rdb 和appendonly.aof【两种持久化方式的文件,没有就算】

 rm dump.rdb

7.重启:

先关闭: /etc/init.d/redis_init_script stop

后重启:/etc/init.d/redis_init_script start

8.然后你再进入 working查看,删除的文件,又有了,是从master 同步的:

进入redis-cli查看 keys * ,会发现master的信息 同步过来了

9.再次查看信息:身份已经由 master【未配置前】 变成 slave 了,并且 master 还是06

10.再让我们看看master06的机子的信息:

其中的slave只有一个,就是刚刚配置的07

11.再次重复上面步骤来配置 08这台机子:

查看 08 的信息

12.再次查看 06的信息:

第一次 slave 只有07一个,现在已经有两个了

主从模式已经配置成功了。

做一下测试:

测试1:

在06上增加一个 ,看看07和08 能否接收到:

这是在06上

这是07上的:

这是08的:

 

测试2:

关闭08 ,查看06的信息:然后在06设置新的key,重新开启08,看其能否接受到06的数据

1.关闭前的06信息:(slave 有两个)

2.08关闭后,再次查看06信息:

06信息【重启redis-cli】

3:  06设置新的数据:

4.开启08,查看数据:【同步了06的新数据】

 

测试3:

关闭06,查看07 和08 的状态,看是 master 还是slave:

1.关闭06

2.查看07 和08信息;

还是 slave,master还是06 ,只是status变成了 down

3.再次开启06:

06仍然是 master,slave仍然有两个:07 和08

4.再次查看07 和08信息:

其他的都没有变,只是status 由 down 变成了 up

发布了55 篇原创文章 · 获赞 5 · 访问量 6054

猜你喜欢

转载自blog.csdn.net/weixin_42528855/article/details/103748996