1、下载redis
redis-4.0.14.tar.gz
2、规划,1主2从3哨兵节点
类型 | IP地址 | 端口号 | data |
---|---|---|---|
主 | 192.168.10.16 | 26380 | redis-server |
从1 | 192.168.10.17 | 26381 | redis-server |
从2 | 192.168.10.18 | 26382 | redis-server |
哨兵1 | 192.168.10.16 | 36380 | redis-sentinel |
哨兵2 | 192.168.10.17 | 36381 | redis-sentinel |
哨兵3 | 192.168.10.18 | 36382 | redis-sentinel |
3、安装
1)安装三个节点
解压
tar -xzvf redis-4.0.14.tar.gz
编译
make & make install
创建文件夹
mkdir {config,logs,data,run}
拷贝配置文件
cp redis.conf config/
cp sentinel.conf config/
4、修改配置文件
1)修改主节点配置文件
vim config/redis.conf
#bind 127.0.0.1
port 26380
protected-mode no
daemonize yes
pidfile /root/poin/redis-4.0.14/run/redis.pid
requirepass 123456
masterauth 123456
logfile "/root/poin/redis-4.0.14/logs/redis.log"
- 修改从节点
#bind 127.0.0.1
port 26381
protected-mode no
daemonize yes
pidfile /root/poin/redis-4.0.14/run/redis.pid
requirepass 123456
masterauth 123456 #从同步主时候需要传的密码
logfile "/root/poin/redis-4.0.14/logs/redis.log"
slaveof 192.168.10.16 26380
3)修改哨兵配置文件
port 36380
sentinel monitor mymaster 192.168.10.16 26380 2
sentinel down-after-milliseconds mymaster 30000 #主观下线的时间,单个的哨兵发现服务不可用的时间,然后发动其他哨兵进行探测
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel auth-pass mymaster 123456
#pidfile "" # 没有此配置
logfile ""
daemonize yes
5 、启动
- 启动主
./src/redis-server config/redis.conf
- 分别启动两台从
./src/redis-server config/redis.conf
3)分别启动三台哨兵
./src/redis-sentinel config/sentinel.conf
6、验证集群
redis-client -h 192.168.10.16 -p 26380
输入密码登录进去
auth 123456
输入命令
info # 输出集群信息
输出哨兵信息
redis-cli -h 192.168.48.13 -p 26379 info Sentinel
杀掉主节点
选择master进程并 kill,等待一会再把6379启动。我们再来看主从配置
备注:
down-after-milliseconds 哨兵认为master挂了,并进行主观下线的时间配置,这里是3s failover-timeout 选举超时配置。
quorum:票数,Sentinel需要协商同意master是否可到达的数量