redis高可用集群配置

一 主机

角色 IP 服务
master 192.168.0.56 redis
slave 192.168.0.58 redis redis-Sentinel

二 安装redis

1
yum install redis

三 配置主从

  • master节点
1
2
3
4
5
6
7
vim redis.conf
# 开启所有地址连接(根据实际情况配置)
bind 0.0.0.0
# redis添加认证密码test123 (可不设置,如果设置各节点密码保持一致)
requirepass test123
# 连接master节点密码 (如果设置认证密码,配置该项)
masterauth test123
  • slave节点
1
2
3
4
5
6
7
8
9
vim redis.conf
# 开启所有地址连接(根据实际情况配置)
bind 0.0.0.0
# redis添加认证密码test123 (可不设置,如果设置各节点密码保持一致)
requirepass test123
# 配置为从节点(配置为集群从节点只需这一句)
slaveof 192.168.0.56 6379
# 连接master节点密码 (如果设置认证密码,配置该项)
masterauth test123

检查主从节点

  • master节点
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
master节点redis信息
[root@test2 ~]# systemctl start redis
[root@test2 ~]# redis-cli
127.0.0.1:6379> AUTH test123
OK
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
127.0.0.1:6379>
  • slave节点
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
slave节点redis信息
[root@test3 etc]# systemctl start redis
[root@test3 etc]# redis-cli
127.0.0.1:6379> AUTH test123
OK
127.0.0.1:6379> info replication
# Replication
role:slave
master_host:192.168.0.56
master_port:6379
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:15
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
127.0.0.1:6379>
  • 添加键值测试同步

1

四 配置redis哨兵(Sentinel)实现高可用

redis-sentinel是redis自带的功能,安装redis服务自带该服务。启动服务方式:systemctl start redis-sentinel.service

1
2
3
4
5
6
7
8
9
vim redis-sentinel.conf
# 允许所有地址连接sentinel
bind 0.0.0.0
# 侦测master节点,1表示当有一个sentinel服务发现master宕机后开始切换master节点
sentinel monitor mymaster 192.168.0.56 6379 1
# 连接master节点的密钥
sentinel auth-pass mymaster test123
# 5秒内master没有响应,就认为SDOWN (可不添加)
sentinel down-after-milliseconds mymaster 5000

五 redis客户端连接集群

redisk客户端连接方式
redis客户端连接redis集群,连接的不是redis服务器的地址,而是Sentinel服务的地址和端口,当master节点故障时,Sentinel会自动设置slave为master并连接到master,就实现了redis的高可用

2

-------------本文结束感谢您的阅读-------------

本文标题:redis高可用集群配置

文章作者:OperationMAN

发布时间:2020年07月01日 - 09:07

最后更新:2022年06月05日 - 21:06

原始链接:https://kxinter.gitee.io/2020/07/01/redis高可用集群配置/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!