linux—redis集群搭建(主从哨兵)

linux—redis集群搭建(主从哨兵)

一,配置文件并启动一个 Redis 服务器实例

首先确保自己已经安装了redis,然后找到自己的安装位置,查看列表

在这里插入图片描述

切换到root根目录 创建myreids目录(将集群搭建到root目录 以便出现错误 不影响原文件)

cd /root                         #切换到root根目录
ll                               #查看该目录下所有列表信息
mkdir -p /root/myredis           #创建myredis目录

复制/opt/redis-6.2.1/redis.conf文件到/root/myredis目录

cp /opt/redis-6.2.1/redis.conf /root/myredis/

编辑并且配置redis.conf文件

vim /root/myredis/redis.conf

设置行号(便于修改文件 精准导航)

#按Esc 进入末行模式  第一行是 1G 以此类推 最后一行为G  启动编辑按:i
:set nu

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

然后保存并且退出

:wq

创建redis638.conf并且编辑内容 然后保存并且退出

# vim 编辑内容时 若文件不存在则创建
vim /root/myredis/redis6379.conf

在这里插入图片描述

到了这里 就算是已经配置好了一个最基础的配置了 可以开启一个简单的redis服务了

​ 使用以下命令可以启动 Redis 服务

redis-server /root/myredis/redis6379.conf

二,创建多个reids实例 (复制并定制化 Redis 配置文件)

我这里就额外创建两个作为展示

​ 复制拷贝编辑好的/root/myredis/redis6379.conf

cp redis6379.conf redis6380.conf
cp redis6379.conf redis6381.conf

分别修改redis6380 redis6381里面的配置文件:

使用命令开启这两个redis实例

redis-server /root/myredis/redis6380.conf
redis-server /root/myredis/redis6381.conf

查看redis进程和redis服务器端口号

 ps -ef | grep redis

在这里插入图片描述

这时候就可以启动3个客户端并链接3个不同端口的redis服务器了

redis-cli -p 6379
redis-cli -p 6380
redis-cli -p 6381

这个时候就算是实现了创建多个reids实例 功能 但是这个时候还是存在问题的

# redis的客户端输入 一下命令  三个客户端都会显示是master(主节点)
INFO replication

三,配置客户端的主从关系

在6380客户端和6381客户端中配置主从(注意:只在从里面配置)

​ 分别在两个客户端 输入以下代码

#slaveof 虚拟机ip地址 主节点端口号
SLAVEOF 192.168.159.131 6379 

​ 然后 就会只有一个‘master‘(主节点) 两个 slave(从节点)了

这个时候 再在从节点客户端输入 info replication 命令时 就会如下显示

在这里插入图片描述

​ 现在基本的一主二从 已经配置完成了

​ 但是现在依然存在问题 当主节点宕机时 会使服务器及数据损坏 这个时候就需要配置’哨兵‘ 来确保 Redis 系统的高可用性


四,配置哨兵

配置哨兵的作用是确保 Redis 系统的高可用性。Redis Sentinel(哨兵)是一个用于监控和管理 Redis 集群的自动化系统,它可以检测 Redis 主节点和从节点的故障,并在需要时进行自动故障转移和节点恢复。主要作用包括:

  1. 监控 Redis 实例:哨兵定期检查 Redis 主节点和从节点的健康状态,包括网络连接、响应时间等,以确保集群的稳定运行。
  2. 自动故障转移:如果主节点宕机或不可用,哨兵会自动将一个从节点升级为新的主节点,以保证系统的可用性。它还会更新其他从节点的配置,使它们连接到新的主节点。
  3. 配置管理:哨兵负责管理 Redis 集群的配置信息,包括主从节点的配置、故障转移策略等。
  4. 提供故障通知:哨兵可以向管理员发送警报通知,当出现节点故障或其他异常情况时,管理员可以及时采取措施来处理问题。
  5. 服务发现:客户端可以通过连接到哨兵来发现 Redis 集群的主节点和从节点,并获取集群的连接信息,从而实现对 Redis 集群的动态发现和连接。

创建哨兵的方式 :

​ 创建并编辑/root/myredis/sentinel26379.conf文件设置哨兵

vim /root/myredis/sentinel26379.conf

在这里插入图片描述

保存退出了 已经出现一个哨兵的配置 然后以此来再拷贝创建两个哨兵

cp /root/myredis/sentinel26379.conf /root/myredis/sentinel26380.conf 
cp /root/myredis/sentinel26379.conf /root/myredis/sentinel26381.conf 

依次修改sentinel26380.conf,sentinel26381.conf两个文件

​ 只需要修改文件中的 port 改为自己对应的端口号 :26380 26381 就可以了

启动三个哨兵

redis-sentinel sentinel26379.conf 
redis-sentinel sentinel26380.conf 
redis-sentinel sentinel26381.conf 

创建三个哨兵是为了确保高可用性和容错性。

  1. 容错性:通过多个哨兵节点,即使一个哨兵节点发生故障,其他哨兵节点仍然可以继续监视和管理 Redis 集群。如果只有一个哨兵节点,当这个哨兵节点发生故障时,将导致整个 Redis 集群失去监控和管理,从而增加了集群的风险。
  2. 选举:在进行主节点故障转移时,需要进行投票和选举过程。如果只有两个哨兵节点,当两个节点之间发生分裂(网络分区)时,可能会导致投票无法达成一致,从而无法进行故障转移。而有三个或更多的哨兵节点可以确保在大多数节点达成一致的情况下进行投票,增加了投票的可靠性。
  3. 监控:多个哨兵节点可以分布在不同的服务器上,从而可以更好地监控 Redis 集群的各个节点。这样可以增加监控的覆盖范围,减少单点故障的影响。

这个时候就可以实现 当主节点宕机时 哨兵检测到之后 选择出一个从节点为主节点

  • 18
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值