Redis主主复制、主从复制

时间:2023-02-06 20:09:12

Redis主从复制(master-slaves配置)可以更好地读写分离

先关防火墙

主(master)服务器先不做任何操作,

进入从(slave)服务器,

redis-3.2.1目录下的redis.conf是redis的配置文件,打开这个配置文件,

修改bind参数为0.0.0.0(master服务器的redis的配置文件也要修改bind参数为0.0.0.0),这是为了使所有主机都可以访问

在redis.conf文件里加上slaveof master服务器的ip地址 master服务器中redis的端口号。


进入从(slave)服务器,

redis-3.2.1目录下的sentinel.conf是redis的哨兵文件,打开这个哨兵文件:

添加以下内容:

sentinel monitor mymaster master服务器的ip地址 master服务器中redis的端口号 1(sentinel monitor <名称(任意)>  <端口> <投票获得票数>)

sentinel down-after-milliseconds mymaster 5000(默认1秒检测一次,这里配置5s为宕机状态)

sentinel parallel-syncs mymaster 1(多少个从节点参与哨兵选举)

sentinel failover-timeout mymaster 180000(主节点过期失效的时间)

启动哨兵:

./redis-server ../sentinel.conf --sentinel&(&表示在后台启动,默认端口是26379)

查看哨兵信息:

./redis-cli -h 192.168.204.131 -p 26379 info sentinel

重启redis服务,至此主从复制配置完成。


在redis-3.2.1目录下新建目录logs,在该logs目录下新建文件redis.log

redis默认不记录日志(log)文件,需要在主从2台主机的redis的redis.conf中的logfile=""的双引号里填写/home/centos2/Desktop/redis-3.2.1/logs/redis.log

(注意:要根据具体路径名设置)

打开master的redis、slave的redis,

info Replication以检查主从复制配置是否成功

参考链接:

https://www.cnblogs.com/newstudent/p/redis-sentinel.html


如果不成功,比如master_link_status:down

可能的原因:

1.使两台主机要么都为NET模式,要么都为桥接模式

2.redis.conf文件最后几行。。。

3.参考centos下安装tomcat的防火墙问题

4.