redis sentinel(哨兵)配置

环境说明 :

时间类型时间
创建时间2017/12/14
更新时间2017/12/14
软件名称版本
Centos6.8_64
Redis4.0.1

配置redis哨兵前,先安装好redis,安装文档请参考:redis安装

服务分布说明:
主节点:192.168.50.101 6379
sentinel-1:192.168.50.101 16379
从节点:192.168.50.102 6379
sentinel-2:192.168.50.102 16379
注意:(sentinel最好要奇数个,这里偷懒了,先这样)

配置redis哨兵集群

1.配置主从复制的 主redis.conf 配置文件
192.168.50.101机器上操作

[root@localhost redis]# cd /app/redis   # 安装目录下新建conf和logs目录,存放文件,
[root@localhost redis]# mkdir conf      # conf和logs目录的创建,不是必须的,只
[root@localhost redis]# mkdir logs      # 是为了区别存放文件,增加辨识度
[root@localhost redis]# cp redis.conf ./conf/redis-M-6379.conf
[root@localhost redis]# cd conf
[root@localhost conf]# vi redis-M-6379.conf
修改内容如下:
     port 6379   # 要使用的端口
     daemonize yes
     pidfile /app/redis/conf/redis-6379.pid
     bind 192.168.50.101   # 本机IP
     logfile /app/redis/logs/redis-6379.log
     dbfilename dump-6379.rdb
     dir /app/redis/conf   # 数据文件存放位置
     appendonly no  #master

# 启动服务
[root@localhost bin]# ./redis-server /app/redis/conf/redis-M-6379.conf
[root@localhost bin]# ps -ef|grep redis
root      27556      1  0 20:31 ?        00:00:00 ./redis-server 192.168.50.101:6379              
root      27561  25602  0 20:31 pts/2    00:00:00 grep redis

[root@localhost bin]# ./redis-cli -h 192.168.50.101 -p 6379   #登录redis
192.168.50.101:6379> exit

2.配置主从复制的 从redis.conf 配置文件
192.168.50.102机器上操作

[root@localhost redis]# cd /app/redis   # 安装目录下新建conf和logs目录,存放文件,
[root@localhost redis]# mkdir conf      # conf和logs目录的创建,不是必须的,只
[root@localhost redis]# mkdir logs      # 是为了区别存放文件,增加辨识度
[root@localhost redis]# cp redis.conf ./conf/redis-S-6379.conf
[root@localhost redis]# cd conf
[root@localhost conf]# vi redis-S-6379.conf
修改内容如下:
     port 6379   # 要使用的端口
     daemonize yes
     pidfile /app/redis/conf/redis-6379.pid
     bind 192.168.50.102   # 本机IP
     logfile /app/redis/logs/redis-6379.log
     dbfilename dump-6379.rdb
     dir /app/redis/conf
     appendonly yes #slave
     slaveof 192.168.50.101 6379  # master主的地址和端口

# 启动服务
[root@localhost bin]# ./redis-server /app/redis/conf/redis-S-6379.conf
[root@localhost bin]# ps -ef|grep redis
root      29164      1  0 20:43 ?        00:00:00 ./redis-server 192.168.50.102:6379              
root      29170  25317  0 20:43 pts/0    00:00:00 grep redis

[root@localhost bin]# ./redis-cli -h 192.168.50.102 -p 6379   #登录redis
192.168.50.102:6379> exit

常用操作:

# 主服务上的操作
[root@Centos01 bin]# ./redis-cli -h 192.168.50.101 -p 6379
192.168.50.101:6379> set name wsl
OK
192.168.50.101:6379> get name
"wsl"
192.168.50.101:6379> info

# 从服务上的操作
[root@Centos02 bin]# ./redis-cli -h 192.168.50.102 -p 6379
192.168.50.102:6379> get name
"wsl"
192.168.50.102:6379> info

3.配置sentinel集群(两个sentinel配置一样)
192.168.50.101 192.168.50.102机器上操作

[root@localhost ~]# cd /app/redis-4.0.1
[root@localhost redis-4.0.1]# cp sentinel.conf /app/redis/conf/
[root@localhost redis-4.0.1]# cd /app/redis/conf
[root@localhost conf]# cp sentinel.conf sentinel-16379.conf
[root@localhost conf]# vi sentinel-16379.conf
# 改变内容如下:

protected-mode no
##sentinel实例之间的通讯端口  
port 16379  
##显示监控master节点192.168.50.101,master节点使用端口6379,最后一个数字表示投票需要的"最少法定人数",
##比如有10个sentinal哨兵都在监控某一个master节点,如果需要至少6个哨兵发现master挂掉后,才认为master真
##正down掉,那么这里就配置为6,最小配置1台master,1台slave,在二个机器上都启动sentinal的情况下,哨兵
##数只有2个,如果一台机器物理挂掉,只剩一个sentinal能发现该问题,所以这里配置成1,至于mymaster只是一个
##名字,可以随便起,但要保证下面使用同一个名字
sentinel monitor mymaster 192.168.50.101 6379 1  
##表示如果10s内mymaster没响应,就认为SDOWN
sentinel down-after-milliseconds mymaster 10000  
##表示如果master重新选出来后,其它slave节点能同时并行从新master同步缓存的台数有多少个,显然该值越大,所有slave节
##点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,影响面会更广。最保定的设置
##为1,只同一时间,只能有一台干这件事,这样其它slave还能继续服务,但是所有slave全部完成缓存更新同步的进程将变慢。
sentinel parallel-syncs mymaster 1  
##表示如果15秒后,mysater仍没活过来,则启动failover,从剩下的slave中选一个升级为master
sentinel failover-timeout mymaster 15000    

# 启动服务
[root@localhost bin]# ./redis-sentinel /app/redis/conf/sentinel-16379.conf &

redis sentinel配置参考

    原文作者:Alex_Honnold
    原文地址: https://www.jianshu.com/p/911935fe723e
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞