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.