单机版Redis数据老丢?来试试一主两从三哨兵,内附自动化脚本

单机版Redis数据老丢?来试试一主两从三哨兵,内附自动化脚本

首页枪战射击gz穿越火线单机版全武器更新时间:2024-06-19
开头说几句
  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 123456 protected-mode yes # 绑定IP 0.0.0.0代表所有IP可访问 bind 0.0.0.0

  1. 两个从节点的配置与主节点配置基本相同vim /etc/redis/6380/redis.conf:

daemonize yes # 从节点IP ## port 6381 port 6380 masterauth 123456 requirepass 123456 protected-mode yes bind 0.0.0.0 # 属于那个主节点 slaveof 127.0.0.1 6379

  1. 修改哨兵节点配置vim /etc/redis/26379/sentinel.conf

# 后台运行 daemonize yes # 哨兵节点端口26379、26380、26381 port 26379 # 主节点信息 sentinel monitor mymaster 127.0.0.1 6379 2 # 主节点密码 sentinel auth-pass mymaster 123456 sentinel down-after-milliseconds mymaster 15000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 80000 bind 0.0.0.0 protected-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

# 本机内网IP IP=10.0.4.16 ## 1:HOST 2:CLUSTER 3:SENTINEL ## 2暂不支持 REDIS_TYPE=1 REDIS_PORT=6379 REDIS_SENTINEL_PORT=26379 # 主节点IP REDIS_MASTER=10.0.4.16 REDIS_PASS=Hanshow123!@#

  1. 配置完成后运行同目录中的redis.sh即可进行Redis的自动安装以及配置,对于配置文件大家如果有什么不理解的地方都可以提出来。
最后说几句
  1. 后面我会把自己开发的常用的脚本都分享出来,希望大家可以多多关注star哦。
  2. 同样的如果大家有任何问题,可以随时提出来,我会竭尽全力帮大家解决哦。
  3. 最后依然希望大家相应国家号召进行自我隔离,保障自己的生命安全。
  4. 谢谢大家,下次见。

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved