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文件
在这里插入图片描述

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

拷贝命令 cp redis.conf /myredis
redis支持哨兵 sentinel、集群cluster
在这里插入图片描述

背景前提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
在这里插入图片描述

7.3从机查看角色 role 是slave

观察slave与主机master连接状况 master_link_status:up 才可以
在这里插入图片描述

7.4查看哨兵 日志

cat sentinel26379.log
在这里插入图片描述

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 查看哨兵日志 在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis主从+Keepalived是一种常见的Redis高可用方案。它的基本原理是通过使用Keepalived来实现Redis主从切换。具体步骤如下: 1. 首先,需要安装和配置Keepalived。可以按照以下步骤进行操作: - 下载并解压Keepalived的源代码。 - 进入解压后的目录,并执行以下命令进行编译和安装: ``` ./configure --prefix=/usr/local/keepalived/ make make install ``` - 拷贝所需的文件到相应的目录,例如: ``` cp /usr/local/src/keepalived-1.3.5/keepalived/etc/init.d/keepalived /etc/init.d/keepalived cp /usr/local/keepalived/sbin/keepalived /usr/sbin/ cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/ mkdir -p /etc/keepalived/ cp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/keepalived.conf ``` - 修改keepalived.conf文件,根据实际情况配置虚拟IP(VIP)和监控脚本等参数。 2. 然后,需要配置Redis主从复制。可以按照以下步骤进行操作: - 在Redis的主节点上,修改redis.conf文件,将`slaveof`参数设置为空,即不指定从节点。 - 在Redis的从节点上,修改redis.conf文件,将`slaveof`参数设置为主节点的IP和端口,例如:`slaveof <master_ip> <master_port>`。 3. 最后,启动Keepalived和Redis服务。 - 在Master节点上,启动Keepalived服务。 - 在Master和Slave节点上,分别启动Redis服务。 这样,当Redis的Master节点发生故障时,Keepalived会检测到故障并自动切换到Slave节点,确保Redis服务的高可用性。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [redis高可用:keepalived+redis主从部署](https://blog.csdn.net/liuguanghui1988/article/details/77098143)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Keepalived+redis主从](https://blog.csdn.net/qq_37668945/article/details/88618390)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值