目录
提示:对Redis 主从架构、哨兵机制等技术原理不清楚的,可先参考阅读我的技术博客《Redis主从/哨兵机制原理介绍》
系统环境描述:本教程基于CentOS 8.0版本虚拟机
集群规划信息:
Redis版本:7.2.3
tar -zxvf redis-7.2.3.tar.gz
mv redis-7.2.3 /usr/local/
cd /usr/local/redis-7.2.3
make
cd src/
make install
cd /usr/local/redis-7.2.3
mkdir etc
mkdir bin
cp redis.conf sentinel.conf /etc/
cd src/
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server redis-sentinel /usr/local/redis-7.2.3/bin/
scp -r redis-7.2.3/ root@node3:/usr/local/
scp -r redis-7.2.3/ root@node4:/usr/local/
vim redis.conf
bind 0.0.0.0
port 6379
protected-mode no
daemonize yes
logfile ./redis.log
requirepass xiaoning
masterauth xiaoning
vim redis.conf
bind 0.0.0.0
port 6379
protected-mode no
daemonize yes
logfile ./redis.log
requirepass xiaoning
masterauth xiaoning
replicaof 192.168.31.215 6379
./redis-server ../etc/redis.conf
#登录redis
./redis-cli -c --pass xiaoning
#查看节点角色信息
role
#登录redis
./redis-cli -c --pass xiaoning
#查看主从节点信息
info replication
主节点:
set name xiaoning
从节点:
get name
ok ,从以上测试结果来看,我们的主从(Master-Slave模式)部署完成,下面继续介绍哨兵机制部署。
cd etc/
vim sentinel.conf
#端口默认为26379。
port 26379
#关闭保护模式,可以外部访问。
protected-mode no
#设置为后台启动。
daemonize yes
#日志文件。
logfile ./sentinel.log
#指定主机IP地址和端口,并且指定当有2台哨兵认为主机挂了,则对主机进行容灾切换。
sentinel monitor mymaster 192.168.31.215 6379 2
#当在Redis实例中开启了requirepass,这里就需要提供密码。
sentinel auth-pass mymaster xiaoning
#这里设置了主机多少秒无响应,则认为挂了。
sentinel down-after-milliseconds mymaster 3000
#主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1。
sentinel parallel-syncs mymaster 1
#故障转移的超时时间,这里设置为三分钟。
sentinel failover-timeout mymaster 180000
./redis-sentinel ../etc/sentinel.conf
redis-cli -c -p 26379
info sentinel
./redis-cli -c --pass xiaoning
#关闭redis,模拟redis宕机
shutdowm
#d等一分钟,然后重新启动该节点redis服务
./redis-server ../etc/redis.conf
我们发现,执行shutdown 命令后,该服务器的redis服务已经停了。
./redis-cli -c --pass xiaoning
#查看该节点角色
role
#查看节点信息
info replication
我们可以看到,master节点由原来的192.168.31.215,变成了192.168.31.167。
我们重新启动原来master节点的redis服务,登录后,查看信息发现,它由原来的redis master角色,变成了的slave角色。
经过以上验证,我们发现哨兵机制起了作用,和预期相符合,哨兵机制部署成功!
好了,本次分享就到这里,欢迎大家继续阅读《Redis》专栏其他文章内容,如果有帮助到大家,欢迎大家点赞+关注+收藏,有疑问也欢迎大家评论留言!