基于docker如何搭建redis-sentinel集群


1、概述

redis 集群可以在一组 redis 节点之间实现高可用性和 sharding。在集群中会有 1 个 master 和多个 sl*e 节点。当 master 节点失效时,应选举出一个 sl*e 节点作为新的 master。然而 redis 本身(包括它的很多客户端)没有实现自动故障发现并进行主备切换的能力,需要外部的监控方案来实现自动故障恢复。

redis sentinel 是官方推荐的高可用性解决方案。它是 redis 集群的监控管理工具,可以提供节点监控、通知、自动故障恢复和客户端配置发现服务。

2、遇到的问题

1、docker host网络

docker使用host网络时对于windows 、mac不生效(没找到解决方案),最后放弃了windows 使用centos部署集群。

2、不使用host网络的情况下sentinel 连接问题

不使用host网络的情况下连接sentinel集群时可以指定主节点端口故可以正常联通, 但在主节点故障时 sentinel 从主节点获取到的 ip 是容器内的虚拟 ip 导致集群无法正常连接。

基于docker如何搭建redis-sentinel集群 

3、搭建过程

1、目录结构

基于docker如何搭建redis-sentinel集群 

基于docker如何搭建redis-sentinel集群 

2、sentinel 配置文件

1、sentinel1.conf

#端口号
port 26379
dir /tmp
# mymaster:自定义集群名,2:投票数量必须2个sentinel才能判断主节点是否失败
sentinel monitor mymaster <ip> <port> 2
# 指的是超过5000秒,且没有回复,则判定主节点不可达
sentinel down-after-milliseconds mymaster 5000
# 表示在故障转移的时候最多有numsl*es在同步更新新的master
sentinel parallel-syncs mymaster 1
# 故障转移超时时间
sentinel failover-timeout mymaster 5000

2、sentinel2.conf

Mootion Mootion

Mootion是一个革命性的3D动画创作平台,利用AI技术来简化和加速3D动画的制作过程。

Mootion 232 查看详情 Mootion
#端口号
port 26380
dir /tmp
# mymaster:自定义集群名,2:投票数量必须2个sentinel才能判断主节点是否失败
sentinel monitor mymaster <ip> <port> 2
# 指的是超过5000秒,且没有回复,则判定主节点不可达
sentinel down-after-milliseconds mymaster 5000
# 表示在故障转移的时候最多有numsl*es在同步更新新的master
sentinel parallel-syncs mymaster 1
# 故障转移超时时间
sentinel failover-timeout mymaster 5000

3、sentinel3.conf

#端口号
port 26381
dir /tmp
# mymaster:自定义集群名,2:投票数量必须2个sentinel才能判断主节点是否失败
sentinel monitor mymaster <ip> <port> 2
# 指的是超过5000秒,且没有回复,则判定主节点不可达
sentinel down-after-milliseconds mymaster 5000
# 表示在故障转移的时候最多有numsl*es在同步更新新的master
sentinel parallel-syncs mymaster 1
# 故障转移超时时间
sentinel failover-timeout mymaster 5000

3、docker-compose.yml

version: '2'
services:
 master:
 image: redis:4.0
 restart: always
 container_name: redis-master
 #使用主机网络
 network_mode: "host"
 command: redis-server --port 16379 
 
 sl*e1:
 image: redis:4.0
 restart: always
 container_name: redis-sl*e-1
 network_mode: "host"
 # 指定端口并指定master ip 端口
 command: redis-server --port 16380 --sl*eof <master ip> 16379
 
 sl*e2:
 image: redis:4.0
 restart: always
 container_name: redis-sl*e-2
 network_mode: "host" 
 command: redis-server --port 16381 --sl*eof <master ip> 16379
 
 sentinel1:
 image: redis:4.0
 restart: always
 container_name: redis-sentinel-1
 network_mode: "host"
 # 指定sentinel文件位置
 command: redis-sentinel /usr/local/etc/redis/sentinel.conf
 # 使用数据卷映射文件到指定sentinel位置
 volumes:
  - ./sentinel/sentinel1.conf:/usr/local/etc/redis/sentinel.conf
 
 sentinel2:
 image: redis:4.0
 restart: always
 container_name: redis-sentinel-2
 network_mode: "host" 
 command: redis-sentinel /usr/local/etc/redis/sentinel.conf
 volumes:
  - ./sentinel/sentinel2.conf:/usr/local/etc/redis/sentinel.conf
 
 sentinel3:
 image: redis:4.0
 restart: always
 container_name: redis-sentinel-3
 network_mode: "host" 
 command: redis-sentinel /usr/local/etc/redis/sentinel.conf
 volumes:
  - ./sentinel/sentinel3.conf:/usr/local/etc/redis/sentinel.conf

4、使用centos 部署集群测试效果

1、测试通过sentinel1连接集群

基于docker如何搭建redis-sentinel集群

2、测试主节点子节点数据同步

基于docker如何搭建redis-sentinel集群

基于docker如何搭建redis-sentinel集群

3、关闭master查看主备切换

基于docker如何搭建redis-sentinel集群

sentinel 正常联通

基于docker如何搭建redis-sentinel集群

主节点从16379 切换 至16381

基于docker如何搭建redis-sentinel集群

以上就是基于docker如何搭建redis-sentinel集群的详细内容,更多请关注其它相关文章!


# redis  # Docker  # 镜像  # 同步更新  # 可用性  # 端口号  # 指的是  # 可达  # 自定义  # 最多  # sentinel  # 滨江网站推广营销价格  # 网络营销推广直播  # 产品营销推广渠道策略  # 鞍山seo外包打造企业  # wordpress如何配置seo  # 大屯网站建设  # 公众号营销推广费用高吗  # 营销推广未来前景  # 口碑好的网站seo优化  # 黄山公司网站优化公司  # 客户端  # 案例分析 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: Win10如何关闭开机锁屏界面_Windows10跳过锁屏直接登录设置  C++ priority_queue怎么用_C++优先队列底层实现与自定义比较器  创建您的便携版VS Code:让配置随身携带  电脑没有声音了怎么办 电脑声音问题的全面排查与修复指南【详解】  苹果手机怎么合并照片_苹果手机合并多张照片的操作方法  《大周列国志》皇帝律令功能介绍  word页码灰色不能用如何解决  稻壳阅读器官方直达网址链接 稻壳阅读器文档阅读平台主页资源入口  Win10锁屏时间怎么设置 Win10调整自动锁屏时间方法  金牛福袋获取攻略  圆通快递包裹轨迹查询 圆通速递快件实时位置跟踪  百度小说看书时如何翻页_百度小说手动翻页与自动翻页设置  惠普电脑BIOS界面看不懂怎么办_HP电脑BIOS功能选项解读与设置  CodeIgniter 3 连接 SQL Server:正确获取查询结果的教程  铁路12306怎么申请退票_铁路12306退票申请操作流程  鲨鱼剧场app金币获取方法  Selenium自动化:利用键盘模拟解决复杂日期输入框输入问题  Win11如何分屏操作_Win11多窗口分屏技巧  如何在Podman容器中运行Composer_Docker替代品Podman的PHP与Composer容器化实践  iSpring三分屏制作教程  yy漫画登录页面官方入口_yy漫画在线阅读网址入口  《狐友》联系客服方法  Excel宏怎么删除_Excel中删除宏的详细操作流程  《三国:谋定天下》平民全阶段通用阵容  yy漫画官方网站登录入口_yy漫画在线阅读页面地址  口腔诊所管理软件推荐  12306不能订票的时间段是固定的吗? | 节假日购票时间有无变化  聚水潭ERP后台管理系统登录 聚水潭ERP官方登录通道  Animex动漫社正版在线入口 Animex动漫社动漫官方观看网  KFC邀请码怎么使用领额外优惠_KFC邀请码输入方式与额外优惠代码获取方法  如何在vscode中关闭it环境  纯CSS实现自适应宽度与响应式布局的水平按钮组  抖音号已注销怎么解绑企业认证?不解绑企业认证会怎样?  自定义你的VS Code状态栏,监控关键信息  如何在CSS中实现盒模型多列间距_grid-gap与padding结合  谷歌学术论文搜索引擎 谷歌学术官网入口论坛永久链接  《火影忍者:木叶高手》快速升级攻略  苹果电脑如何快速查看电池状态 苹果电脑电池信息快捷方法  2025考研成绩查询时间入口分享  PHP 4 函数中引用参数的默认值限制与解决方案  CSS过渡与滚动滚动事件结合应用_scroll与transition动画  Mac怎么关闭按键声音_Mac键盘打字音效设置  顺丰快递怎么查物流_顺丰快递物流信息实时查询操作指南  学习通网页版个人登录_学习通网页版个人账户登录入口  抖音猜你想搜能说明对方搜过吗  Python自动化抓取GBGB赛狗比赛结果:日期范围与赛道筛选教程  《虎扑》取消评分记录方法  申通快递物流信息查询 申通快递包裹状态追踪  C++二维数组动态分配方法_C++指针与数组内存布局  QQ邮箱PC端登录页面_QQ邮箱网页版登录界面 

 2023-06-02

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.