> 文章列表 > Redis7搭建主从+哨兵通俗易懂

Redis7搭建主从+哨兵通俗易懂

Redis7搭建主从+哨兵通俗易懂

背景前提–用到的命令

ps -ef |grep redis
redis服务器启动(精确启动配置文件位置)
redis-server redis6379.conf 
redis-server redis6380.conf 
redis-server redis6381.conf 
redis客户端登录
redis-cli -a 123456 -p 6379
redis-cli -a 123456 -p 6380
redis-cli -a 123456 -p 6381
redis客户端登录后查看角色  master/slave 
info replication 
redis如何关闭服务器 
redis登录客户端后  输入 shutdown
redis退出客户端但不关闭服务器  quit哨兵启动
redis-sentinel sentinel26379.conf --sentinel
redis-sentinel sentinel26380.conf --sentinel
redis-sentinel sentinel26381.conf --sentinel
哨兵关闭
redis-cli -p 26379 shutdown
redis-cli -p 26380 shutdown
redis-cli -p 26381 shutdown

背景前提1

安装支持 文件导入命令 rz 然后解压 tar -zxvf redis-7.0.10.tar.gz
将解压在 /opt 目录下redis-7.0.10文件
Redis7搭建主从+哨兵通俗易懂

背景前提2拷贝文件至redis-7.0.10的新建目录myredis下,主机从机步骤一致

拷贝命令 cp redis.conf /myredis
redis支持哨兵 sentinel、集群cluster
Redis7搭建主从+哨兵通俗易懂

背景前提3—主机master

在这里插入图片描述

背景前提4—从机2为例

在这里插入图片描述

背景前提5-- 关闭虚拟机之间的防火墙

启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld 
开机禁用  : systemctl disable firewalld
开机启用  : systemctl enable firewalld添加 :firewall-cmd --zone=public --add-port=80/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)
重新载入: firewall-cmd --reload
查看: firewall-cmd --zone= public --query-port=80/tcp
删除: firewall-cmd --zone= public --remove-port=80/tcp --permanent

背景前提5—主机和从机以及哨兵理论上需要6台虚拟机

1、redis主机和从机ip 和端口

主机master ip和端口			192.168.154.128 6379
从机slave1 ip和端口			192.168.154.129 6380
从机slave2 ip和端口			192.168.154.130 6381

2、主机master修改配置文件

工作目录是在根目录下 即创建myredis是 要 mkdir /myredis 否则报错 dir /myredis

daemonize yes
#bind 127.0.0.1 -::1
protected-mode no
port 6379
#工作目录是在根目录下 即创建myredis是 要 mkdir /myredis 否则报错 
dir /myredis          
pidfile /var/run/redis_6379.pid
# 日志目录
logfile "/myredis/6379.log"
requirepass "123456"  
#redis数据库保存文件地址  在工作目录的下边         
dbfilename dump6379.rdb
appendonly yes
masterauth "123456"

3、从机slave1配置文件

—slave1从机replicaof配置----这个配置内容会当主机挂掉,会被动态注释掉或者清除

daemonize yes
#bind 127.0.0.1 -::1
protected-mode no
port 6380
#工作目录
dir /myredis
pidfile /var/run/redis_6380.pid
logfile "/myredis/6380.log"
requirepass "123456"
dbfilename dump6380.rdb
# 开启 aof  (可选操作)
appendonly no
---slave1从机配置----这个配置内容会当主机挂掉,这个replicaof会被动态注释掉或者清除 
replicaof 192.168.154.128 6379     #拜主机码头
masterauth "123456"     //登录主机密码校验

4、从机slave2配置文件

daemonize yes
#bind 127.0.0.1 -::1
protected-mode no
port 6381
#工作目录
dir /myredis
pidfile /var/run/redis_6381.pid
# 日志目录
logfile "/myredis/6381.log"
requirepass "123456"
dbfilename dump6381.rdb
appendonly no
---slave2从机配置----
replicaof 192.168.154.128 6379     #拜主机码头
masterauth "123456"     //登录主机密码校验

5、哨兵部署在虚拟机主机上

5、1哨兵1–sentinel26379

bind 0.0.0.0
daemonize yes
protected-mode no
port 26379
# 日志目录
logfile "/myredis/sentinel26379.log"
pidfile /var/run/redis-sentinel26379.pid
dir /myredis
sentinel monitor mymaster 192.168.154.128 6379 2
sentinel auth-pass mymaster 123456

5、2哨兵1–sentinel26380

bind 0.0.0.0
daemonize yes
protected-mode no
port 26380
logfile "/myredis/sentinel26380.log"
pidfile /var/run/redis-sentinel26380.pid
dir "/myredis"
sentinel monitor mymaster 192.168.154.128 6379 2
sentinel auth-pass mymaster 123456

5、3哨兵1–sentinel26381

bind 0.0.0.0
daemonize yes
protected-mode no
port 26381
logfile "/myredis/sentinel26381.log"
pidfile /var/run/redis-sentinel26381.pid
dir "/myredis"
sentinel monitor mymaster 192.168.154.128 6379 2    #这个2是投票数
sentinel auth-pass mymaster 123456

6、启动顺序

6.1先启动主机master 再启动从机1 和从机2

6.2然后在分别启动哨兵1、2、3

7、如何查看当前redis角色

7.1 客户端登录

redis-cli -a 123456 -p 6379

7.2 查看角色

info replication
Redis7搭建主从+哨兵通俗易懂

7.3从机查看角色 role 是slave

观察slave与主机master连接状况 master_link_status:up 才可以
Redis7搭建主从+哨兵通俗易懂

7.4查看哨兵 日志

cat sentinel26379.log
Redis7搭建主从+哨兵通俗易懂

8、当主机master 模拟宕机shutdown

哨兵会从从机slave中选举出主机,
从机变成主机,原来的主机master会被哨兵变成从机,角色

1、主机shutdown

在这里插入图片描述

2、原来的主机重新启动,客户端登录发现角色变为slave

在这里插入图片描述

3、从机slave1变为master

在这里插入图片描述

4、当原来的主机192.168.154.128重新启动后,会跟着slave1喊大哥了,

在这里插入图片描述

5、通过哨兵日志观察这些角色的变化过程

在myredis目录下查看已经配置好哨兵日志 输入命令 cat sentinel26379.log
在这里插入图片描述

6、当主机master宕机,哨兵推举主机的过程

在这里插入图片描述

9、观察 redis.conf配置文件的尾部内容(哨兵追加的内容)

1、vim redis6380.conf

:

2、观察原来的主机master角色变为slave后被哨兵追加的内容

1、vim redis6379.conf
2、观察 replicationof 192.168.154.129 6380 现在跟随原来的slave1了
在这里插入图片描述

3、监控和选举并更换主机监控

在这里插入图片描述

变化

在这里插入图片描述

10 当slave变为主机后,然后再宕机,然后又选举出新的master

在这里插入图片描述
11 查看哨兵日志 在这里插入图片描述