centos7 redis哨兵模式
假设 Redis
10.80.90.123,
10.80.90.124(master)
10.80.90.127
Redis下载
版本:5.0.8
解压安装
解压 :tar xzf redis-5.0.8.tar.gz
进入目录
cd redis-5.0.8
make
make install
make完后 redis-5.0.8目录下会出现编译后的redis服务程序redis-server,还有用于测试的客户端程序redis-cli,两个程序位于安装目录 src 目录下。
修改配置文件
10.80.90.124 master 节点配置
修改redis-5.0.8/redis.conf
#配置是否开启保护模式 默认是开启
protected-mode no
#监听 redis启动的pid
pidfile /var/run/redis_6389.pid
#配置日志文件输出地址 如果没有需要手动创建
logfile "/usr/local/redis/log/6389.log"
#配置当前redis的密码 如果不需要设置密码可以不设置
requirepass "123456"
#如果需要非本机连redis,需要注掉以下内容
#bind 128.0.0.1
#后台运行
daemonize yes
剩余两台在master基础上做如下修改
#复制数据的节点
replicaof 10.80.90.124 6379
#master密码
masterauth 123456
启动redis服务
进入目录
cd src
通过启动参数告诉redis使用指定配置文件使用下面命令启动。
./redis-server …/redis.conf 三台逐个启动
查询集群信息
登录 ./redis-cli -p 6379
认证127.0.0.1:6379> auth 123456
#查看集群信息
info replication
role:master
connected_slaves:2
slave0:ip=10.80.90.123,port=6380,state=online,offset=1792,lag=1
slave1:ip=110.80.90.127,port=6381,state=online,offset=1778,lag=1
master_replid:d4bfe3d14d362690e97ccbcd50a4d85d013c30a3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1792
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1792
哨兵模式配置:
备份并修改配置文件sentinel.conf (三台机器一样如下)
#端口
port 26379
#后台运行
daemonize yes
#pid文件
pidfile /var/run/redis-sentinel-26379.pid
#sentinel monitor <master-name> <ip> <redis-port> <quorum>
#master-name 名称
#ip 监控的ip
#redis-port 监控的端口
#quorum 只有当至少<quorum>哨兵同意时,监控的节点才会处于(客观上Down)状态
sentinel monitor mymaster 10.80.90.124 6379 2
#监控节点的密码
sentinel auth-pass mymaster 123456
#主服务器在30秒ping无响应,主观认为主服务器处于DOWN状态
sentinel down-after-milliseconds mymaster 30000
#故障转移超时时间
sentinel failover-timeout mymaster 180000
逐个启动哨兵
./redis-sentinel …/sentinel.conf
验证
杀掉master节点 通过info 命令查看主节点变化