概述

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.。。。