centos访问redis_Redis主从哨兵你还不会呢?我来教你而且还有懒人脚本

开头说几句

  1. 近来疫情仍然是不可小觑,所以希望各位小伙伴仍然相应号召,在家办公自我隔离。
  2. 希望各位小伙伴在这样的情况下平平安安,一切都会好起来的。
  3. 今天我们来说一说Redis的其中一种部署方式——哨兵模式。
  4. 下面呢我们会讲解如何手动配置哨兵模式,同样的我会附上自己开发的自动化部署脚本,希望对大家有所裨益。

为什么我们选择Redis的哨兵模式?

  1. 在Redis的部署方式中,我们比较常用的有三种:单机(主从)、集群、哨兵。
  2. 根据场景的不同,我们会选择不同的部署方式,主从哨兵更能保证数据安全不丢失。
  3. 有小伙伴可能会问了,我们直接主从配置就可以了呀,为什么还要费劲加入哨兵节点呢?
  4. Redis 的主从复制模式,一旦主节点出现故障无法提供服务,需要人工介入手工将从节点调整为主节点,同时应用端还需要修改新的主节点地址。
  5. 也就是说,如果不加入哨兵节点,那我们就要充当“哨兵”了,而且还不是很尽职尽责哨兵。

Redis的哨兵节点到底有哪些功能呢?

  1. 定期检测主从数据节点以及其他哨兵节点是否可用。
  2. 将上一步中检测出来的结果通知到应用方,方便应用实现切换。
  3. 主从节点的故障转移,即若主节点不可用,则晋升其一从节点为主节点供应用使用。

正式开始

准备工作

  1. 我们这里以一台系统为Centos 7的云服务器为例,小伙伴们可自行选择。
  2. 下载好redis-5.0.5.tar.gz,大家自行到官方下载安装即可,安装过程我就不做详细的介绍啦。
  3. 因为我们做测试用嘛,就不开那么多服务器来做,我们在一台服务器上多个端口启动redis实例。

Redis各节点简单配置保证可用

  1. 我们规定一下端口:6379(主),6380、6381(从),26379、26380、26381(哨兵)
  2. 根据不同端口我们创建以下目录并复制配置文件:
$ mkdir -p /etc/redis/{6379,6380,6381,26379,26380,26381}# 批量复制redis配置$ echo /etc/redis/6* | xargs -n 1 cp -v /redis安装路径/redis.conf# 批量复制哨兵配置$ echo /etc/redis/26* | xargs -n 1 cp -v /redis安装路径/sentinel.conf
  1. 修改主节点配置vim /etc/redis/6379/redis.conf:
# 后台运行daemonize yes# 运行端口port 6379# 主节点密码masterauth 123456# 当前节点密码requirepass 123456protected-mode yes# 绑定IP 0.0.0.0代表所有IP可访问bind 0.0.0.0
  1. 两个从节点的配置与主节点配置基本相同vim /etc/redis/6380/redis.conf:
daemonize yes# 从节点IP## port 6381port 6380masterauth 123456requirepass 123456protected-mode yesbind 0.0.0.0# 属于那个主节点slaveof 127.0.0.1 6379
  1. 修改哨兵节点配置vim /etc/redis/26379/sentinel.conf
# 后台运行daemonize yes# 哨兵节点端口26379、26380、26381port 26379# 主节点信息sentinel monitor mymaster 127.0.0.1 6379 2# 主节点密码sentinel auth-pass mymaster 123456sentinel down-after-milliseconds mymaster 15000sentinel parallel-syncs mymaster 1sentinel failover-timeout mymaster 80000bind 0.0.0.0protected-mode yes
  1. 接下来就按照:主——从——哨兵启动各节点即可
$ redis-server /etc/redis/6379/redis.conf$ redis-server /etc/redis/6380/redis.conf$ redis-server /etc/redis/6381/redis.conf$ redis-sentinel /etc/redis/26379/sentinel.conf$ redis-sentinel /etc/redis/26380/sentinel.conf$ redis-sentinel /etc/redis/26381/sentinel.conf
  1. 关于应用方面我们该篇不做详细的介绍,大家如果在应用方面有什么问题都可以问我,我尽我所能帮大家解答。

关于Redis自动化部署脚本

  1. 为了方便我自己的应用,我同时开发了自动化部署Redis的简单脚本。
  2. 在脚本中,我仅支持了Redis的单机部署以及主从哨兵模式。
  3. 为了节省服务器成本,主从哨兵部署方式为每台服务器运行一个redis节点以及一个哨兵节点。
  4. 对于集群方式我这边很少用到,所以没有对集群做支持,后续考虑加入。
  5. 更多信息以及源码需要大家查看更多啦,欢迎大家帮忙点点star
  6. 以后相关源代码我都会在这里进行发布,欢迎大家多多关注!!!。

简单说一下脚本的应用

  1. 大家拉取代码后进入目录Centos_RedisAutoInstall中,修改配置文件config
# 本机内网IPIP=10.0.4.16## 1:HOST 2:CLUSTER 3:SENTINEL## 2暂不支持REDIS_TYPE=1REDIS_PORT=6379REDIS_SENTINEL_PORT=26379# 主节点IPREDIS_MASTER=10.0.4.16REDIS_PASS=Hanshow123!@#
  1. 配置完成后运行同目录中的redis.sh即可进行Redis的自动安装以及配置,对于配置文件大家如果有什么不理解的地方都可以提出来。

最后说几句

  1. 后面我会把自己开发的常用的脚本都分享出来,希望大家可以多多关注star哦。
  2. 同样的如果大家有任何问题,可以随时提出来,我会竭尽全力帮大家解决哦。
  3. 最后依然希望大家相应国家号召进行自我隔离,保障自己的生命安全。
  4. 谢谢大家,下次见。
a4379d8564b2d19fb8f7e0e52e70c277.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值