注意:提前关闭firewalld,配置好hosts文件
redis主从
redis1 | 192.168.20.5 | master节点 |
redis2 | 192.168.20.13 | slave节点 |
redis3 | 192.168.20.14 | slave节点 |
配置文件
修改主节点的配置文件(这里的字段需要在配置文件中自行查找)
[root@redis1 ~]# vim /etc/redis.conf
...
protected-mode no #关闭保护模式
bind 0.0.0.0 #配置监听端口
requirepass 密码 #在这里设置密码
...
(这里的字段需要在配置文件中自行查找)
修改从节点的配置文件,两个从节点配置文件一样
[root@redis2 ~]# vim /etc/redis.conf
...
protected-mode no #关闭保护模式
bind 0.0.0.0 #配置监听端口
slaveof 主机ip 6379 #配置连接主节点的ip,6379是默认端口
masterauth 密码 #这里的密码是和主节点的密码一致
------
[root@redis3 ~]# vim /etc/redis.conf
...
protected-mode no
bind 0.0.0.0
slaveof masterip masterport
masterauth 密码
...
测试
重启redis
[root@redis1 ~]# systemctl restart redis
[root@redis2 ~]# systemctl restart redis
[root@redis3 ~]# systemctl restart redis
进入redis1中查看
[root@redis1 ~]# redis-cli
127.0.0.1:6379> auth 123456 #登录密码
OK
127.0.0.1:6379> info Replication
role:master #角色为master
connected_slaves:2 #从节点有两个
slave0:ip=192.168.100.136,port=6379,state=online,offset=2648,lag=1 #从节点信息
slave1:ip=192.168.100.137,port=6379,state=online,offset=2648,lag=1
master_repl_offset:2648
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:2647
出现以上字段,redis的主从已经配置好了
redis哨兵
redis哨兵的搭建需要基于redis主从的基础上进行
哨兵的搭建比较简单,三个节点的文件都一样
配置文件
[root@redis1 ~]# vim /etc/redis-sentinel.conf
...
protected-mode no #关闭保护模式
daemonize yes #指定sentinel为后台启动
sentinel monitor mymaster master节点ip 6379 2 #修改 指定该哨兵节点监控主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移
sentinel auth-pass mymaster 123456 # 这里的密码需要和redis.conf中配置的密码一致
...
(这里的字段需要在配置文件中自行查找)
然后需要将这份文件copy到其他两个节点
测试
重启redis集群
[root@redis1 ~]# systemctl restart redis
[root@redis2 ~]# systemctl restart redis
[root@redis3 ~]# systemctl restart redis
启动哨兵
[root@redis1 ~]# redis-sentinel /etc/redis-sentinel.conf
[root@redis2 ~]# redis-sentinel /etc/redis-sentinel.conf
[root@redis3 ~]# redis-sentinel /etc/redis-sentinel.conf
查看状态
[root@redis1 ~]# redis-cli -p 26379 info Sentinel
# Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.100.135:6379,slaves=2,sentinels=4
以上就是redis主从以及哨兵的配置,有什么不足的地方希望各位大佬指出来,谢谢!!!