docker-compose搭建redis哨兵模式

news2024/11/25 11:11:51

在这里插入图片描述

文件存放如下图:
在这里插入图片描述
docker-compose.yml文件内容如下:

version: '3.3'
services:
  master:
    image: redis:3.2.12
    restart: always
    container_name: redis-master
    command: redis-server /usr/local/redis/conf/redis.conf
    ports:
      - 6380:6380
    volumes:
      - /root/redis/master/data:/data
      - /root/redis/master/conf:/usr/local/redis/conf
  slave1:
    image: redis:3.2.12
    restart: always
    container_name: redis-slave-1
    command: redis-server /usr/local/redis/conf/redis.conf
    ports:
      - 6381:6381
    volumes:
      - /root/redis/slave1/data:/data
      - /root/redis/slave1/conf:/usr/local/redis/conf
  slave2:
    image: redis:3.2.12
    restart: always
    container_name: redis-slave-2
    command: redis-server /usr/local/redis/conf/redis.conf
    ports:
      - 6382:6382
    volumes:
      - /root/redis/slave2/data:/data
      - /root/redis/slave2/conf:/usr/local/redis/conf
  sentinel1:
    image: redis:3.2.12
    container_name: redis-sentinel-1
    ports:
      - 26380:26380
    volumes:
      - /root/redis/sentinel1/conf:/usr/local/redis/sentinel1/conf
    command: redis-sentinel /usr/local/redis/sentinel1/conf/sentinel.conf
  sentinel2:
    image: redis:3.2.12
    container_name: redis-sentinel-2
    ports:
      - 26381:26381
    volumes:
      - /root/redis/sentinel2/conf:/usr/local/redis/sentinel2/conf
    command: redis-sentinel /usr/local/redis/sentinel2/conf/sentinel.conf
  sentinel3:
    image: redis:3.2.12
    container_name: redis-sentinel-3
    ports:
      - 26382:26382
    volumes:
      - /root/redis/sentinel3/conf:/usr/local/redis/sentinel3/conf
    command: redis-sentinel /usr/local/redis/sentinel3/conf/sentinel.conf

redis.conf配置文件修改内容:

# 配置端口根据实际情况更改
1.配置端口:
port 6379

2.修改绑定ip为服务器内网ip地址,做绑定,三台各自填写各自的ip地址
bind 0.0.0.0

2.保护模式修改为否,允许远程连接
protected-mode no

3.设定密码
requirepass "XXXX"

4.设定主库密码与当前库密码同步,保证从库能够提升为主库
masterauth "XXXX"

5.打开AOF持久化支持
appendonly yes

6.守护进程
daemonize no

sentinel.conf做如下修改:

bind 0.0.0.0
# 端口根据实际情况更改
port 26379
# 根据实际修改
dir "/tmp"
# 根据实际情况写主redis服务
sentinel monitor mymaster 192.168.123.182 6380 2
# 3秒连不上,就换主redis服务,生产环境时间可以久点
sentinel down-after-milliseconds mymaster 3000
# redis设置了密码,这个得加上
sentinel auth-pass mymaster 123456p

在这里插入图片描述
当停止redis-master容器,主redis服务会转移,重启redis-master后,redis-master变成从redis服务。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1405165.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【源码】医院绩效管理系统,针对医、护、技、药、管不同岗位,可设置不同的核算方法、核算参数

医院绩效管理系统源码 医院绩效管理系统以国家医院绩效管理考核政策法规为依据,结合医院管理实践,以经济管理指标为核心,医疗质量、安全、效率、效益管理为重点,特别强调持续改进(PDCA)管理理念。实现医院绩…

从专线到云桥通SD-WAN企业组网开通速度对比

云桥通SD-WAN企业组网和专线是企业在建立和管理广域网连接时广泛采用的两种技术和解决方案。 云桥通SD-WAN企业组网基于软件定义网络技术,通过引入虚拟化、智能路由和网络功能虚拟化等技术,实现对多种网络连接的集中管理和控制。云桥通SD-WAN企业组网能够…

Cyber RT 服务通信

场景: 用户乘坐无人出租车过程中,可能临时需要切换目的地,用户可以通过车机系统完成修改,路径规划模块需要根据新的目的地信息重新规划路径,并反馈修正后的结果给用户,那么用户的修正请求数据与修正结果是如…

LINUX服务之YUM仓库

1. YUM概述 YUM基于RPM包构建的软件更新机制 可以自动解决依赖关系 所有软件包由集中的YUM软件仓库提供 YUM支持软件源 搭建yum支持的的软件源主要有以下三种: 本地yum:file://… 网络yum,又分为HTTP服务器:http…

【开源项目】经典开源项目数字孪生智慧楼宇,分享revit数据

智慧楼宇IBMS可视化运营平台,一个集综合态势、能耗管理、智慧安防和设备运维于一体的智慧管理中心。飞渡科技数字孪生平台集结构、系统、服务、管理及它们之间的最优化组合,使冰冷的混凝土结构演变为智慧化、高效率以及安全性更强的生活和工作空间。 在综…

深度解析Oladance、韶音、南卡开放式耳机:选购指南与天花板级推荐

​随着开放式耳机在日常生活中越来越受欢迎,许多品牌纷纷降低材料品质以迎合大众需求,导致耳机的性能和音质严重下滑。这让消费者在选择优质开放式耳机时感到困惑。作为一名专业的耳机评测人员,我近期对多款热门开放式耳机进行了深入的测评&a…

postman测试导入文件

01 上传文件参数 1.选择请求方式 选择post请求方式,输入请求地址 2.填写Headers Key:Content-Type ; Value:multipart/form-data 如下图 3.填写body 选择form-data,key选择file类型后value会出现按钮&#xff0…

2024三掌柜赠书活动第四期: Next.js实战,构建现代化的可扩展Web应用

目录 摘要前言Next.js简介关于《 Next.js实战》实战示例最佳实践和进阶应用编辑推荐内容简介作者简介图书目录书中前言/序言《Next.js实战》全书速览结束语 摘要:本文将介绍Next.js,一个流行的React框架,以及如何在实际项目中使用Next.js构…

vue中封装使用svg图片

vue中封装使用svg图片 svg的优点 &#xff1a; 可以无损放大或缩小&#xff0c;支持多种滤镜和效果&#xff0c;易于修改和编辑 封装组件更加方便使用 1、封装SvgIcon组件 <template><svg :class"svgClass" aria-hidden"true"><use :xli…

Pytorch自动求导机制

PyTorch框架可以帮我们计算好反向传播&#xff0c;需要求导的&#xff0c;可以手动定义 示例&#xff1a; #先构造一个随机的三行四列矩阵&#xff0c;两种方法都可以#方法1 x torch.randn(3,4,requires_gradTrue) x#方法2 x torch.randn(3,4) x.requires_gradTrue x #再构…

路由器配置虚拟服务器

文章目录 路由器配置虚拟服务器1.前言2.配置流程2.1 进入路由器的登录页面2.2 找到端口映射功能2.3 添加虚拟服务器2.4 查找路由器的动态IP2.5 SSH连接 路由器配置虚拟服务器 1.前言 局域网下面连接着路由器&#xff0c;路由器下面连接着服务器&#xff0c;我们自己的电脑想要…

专业Python集成开发 -- Wing Pro 9

Wing Pro 9是一款功能强大的Python集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为专业开发人员设计。它提供了丰富的功能和工具&#xff0c;旨在提高Python开发人员的生产力。 Wing Pro 9的核心特点包括高级代码编辑器、调试器、重构工具、版本控制等。高级代码编辑…

buffer pool和查询缓存的区别

在学习buffer pool的时候我产生了疑问&#xff0c;buffer pool和查询缓存是一个东西吗&#xff1f; 结论&#xff1a;不是一回事。 buffer pool buffer pool我之前介绍过&#xff0c;它的出现是为了提高查找效率&#xff0c;缓存磁盘上的数据页。 buffer pool虽说是内存中的一…

速锐得解码匹配吉利枫叶80V/60S远程控制汽车应用B端市场

吉利枫叶80V/60S这两款车平时是不多见的&#xff0c;因为吉利枫叶的定位就的B端市场&#xff0c;包括了公务用车、共享出行、网约车、大客户定制&#xff0c;所以&#xff0c;好风凭借力&#xff0c;送我上青云&#xff0c;吉利在默默地发着一笔小财&#xff0c;或者说拓宽了更…

java遍历(for和forEach)

1.dade文件 package model;public class dade {private int id;private String name;public dade() {}public dade(int id, String name) {this.id id;this.name name;}public int getId() {return id;}public void setId(int id) {this.id id;}public String getName() {r…

宝塔FTP文件传输服务结合cpolar内网穿透实现远程连接本地服务

⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站。 文章目录 ⛳️ 推荐1. Linux安装Cpolar2. 创建FTP公网地址3. 宝塔FTP服务设置4. FTP服务远程连接小结 5. 固定FTP公网地址6. 固…

成都首个大型直播基地天府锋巢直播产业基地,诚邀考察

天府锋巢直播产业基地是由德商产投与无锋科技联袂打造的以直播产业为核心的产业园区。天府锋巢直播产业基地是一个包含电商直播、娱乐直播、跨境直播等多种直播业态的全域直播基地。该基地将通过围绕直播产业上下游链的搭建&#xff0c;以整合资源的方式实现产业生态圈的形成&a…

【好用的AI工具Kimi Chat】帮助提高面试效率

一、背景 年前裁员潮&#xff0c;不少人离职找工作&#xff0c;以及年后金三银四&#xff0c;也是求职高峰期。如何更高效的复习技术知识&#xff0c;以及特别是横纵向比对有总结性的问题。本文以面试【测试开发】的岗位为例&#xff0c;对面试题进行拓展&#xff0c;让AI帮助…

InnoDB的Buffer Pool

前置概念&#xff1a;一个数据页16KB&#xff0c;一个数据页可能有多个记录&#xff0c;即使我们只需要访问一条记录&#xff0c;需要把整个数据页加载到内存中&#xff0c;加载到内存后不是直接释放&#xff0c;而是缓存到内存当中&#xff08;当然对于buffer pool的缓存是在存…

layui 自定义日期选择器今日、昨日 、本周、本月、上个月等

1、layui 日期选择器 laydate日期选择器 <div class"layui-input-inline"><input class"layui-input" id"dateTime" placeholder"日期范围"> </div><script> layui.use([laydate], function () {laydate.ren…