docker-compse整合redis集群

news2024/11/25 10:28:16

这里写自定义目录标题

    • 配置配置、数据和logs目录
    • 配置docker-compose
    • 配置集群
    • 总结

      本文是通过docker-compose在linux配置redis高可用。前提条件是系统中需要安装docker和docker-compose。

配置配置、数据和logs目录

mkdir -p /home/docker-redis

       在当前目录下创建cluster-conf.conf配置文件,并且在文件中添加如下配置文件。

# redis端口
port ${PORT}
# 连接密码
requirepass 123456
masterauth 123456
# 关闭保护模式
protected-mode no
# 开启集群
cluster-enabled yes
# 集群节点配置
cluster-config-file nodes.conf
# 超时
cluster-node-timeout 5000
# 集群节点IP host模式为宿主机IP
cluster-announce-ip 10.10.20.100
# 集群节点端口 7001 - 7006
cluster-announce-port ${PORT}
cluster-announce-bus-port 1${PORT}
# 开启 appendonly 备份模式
appendonly yes
# 每秒钟备份
appendfsync everysec
# 对aof文件进行压缩时,是否执行同步操作
no-appendfsync-on-rewrite no
# 当目前aof文件大小超过上一次重写时的aof文件大小的100%时会再次进行重写
auto-aof-rewrite-percentage 100
# 重写前AOF文件的大小最小值 默认 64mb
auto-aof-rewrite-min-size 64mb

       配置六台服务的data、conf和logs。

for port in `seq 7001 7006`;  \
do   mkdir -p ./${port}/conf  \
  && PORT=${port} envsubst < ./cluster-conf.conf > ./${port}/conf/redis.conf   \
  && mkdir -p ./${port}/data \
  && mkdir -p ./${port}/logs; \
done

       结果如下:
在这里插入图片描述

配置docker-compose

       在当前目录下创建docker-compse.yml文件,然后将如配置件添加到文件中

version: '3.7'
services:
  redis-1:
    restart: always
    image: redis:latest
    container_name: redis-1
    environment:
      - TZ=Asia/Shanghai
    network_mode: "host"
    volumes:
      - $PWD/7001/data:/data:rw
      - $PWD/7001/conf/redis.conf:/etc/redis/redis.conf:rw
    command: ["redis-server","/etc/redis/redis.conf"]
  redis-2:
    restart: always
    image: redis:latest
    container_name: redis-2
    environment:
      - TZ=Asia/Shanghai
    network_mode: "host"
    volumes:
      - $PWD/7002/data:/data:rw
      - $PWD/7002/conf/redis.conf:/etc/redis/redis.conf:rw
    command: ["redis-server","/etc/redis/redis.conf"]
  redis-3:
    restart: always
    image: redis:latest
    container_name: redis-3
    environment:
      - TZ=Asia/Shanghai
    network_mode: "host"
    volumes:
      - $PWD/7003/data:/data:rw
      - $PWD/7003/conf/redis.conf:/etc/redis/redis.conf:rw
    command: ["redis-server","/etc/redis/redis.conf"]
  redis-4:
    restart: always
    image: redis:latest
    container_name: redis-4
    environment:
      - TZ=Asia/Shanghai
    network_mode: "host"
    volumes:
      - $PWD/7004/data:/data:rw
      - $PWD/7004/conf/redis.conf:/etc/redis/redis.conf:rw
    command: ["redis-server","/etc/redis/redis.conf"]
  redis-5:
    restart: always
    image: redis:latest
    container_name: redis-5
    environment:
      - TZ=Asia/Shanghai
    network_mode: "host"
    volumes:
      - $PWD/7005/data:/data:rw
      - $PWD/7005/conf/redis.conf:/etc/redis/redis.conf:rw
    command: ["redis-server","/etc/redis/redis.conf"]
  redis-6:
    restart: always
    image: redis:latest
    container_name: redis-6
    environment:
      - TZ=Asia/Shanghai
    network_mode: "host"
    volumes:
      - $PWD/7006/data:/data:rw
      - $PWD/7006/conf/redis.conf:/etc/redis/redis.conf:rw
    command: ["redis-server","/etc/redis/redis.conf"]

       执行下面命令

docker-compose -f docker-compose.yml up -d

在这里插入图片描述

配置集群

       ip设置之前创建redis对应的机器ip和端口号,密码对应cluster-conf.conf中配置的masterauth。运行后需要添加一个yes

docker exec -it redis-1 \
redis-cli -a "123456" \
--cluster create \
10.10.20.133:7001 \
10.10.20.133:7002 \
10.10.20.133:7003 \
10.10.20.133:7004 \
10.10.20.133:7005 \
10.10.20.133:7006 \
--cluster-replicas 1

在这里插入图片描述

总结

       至此docker-compose配置redis多主多从完成。

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

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

相关文章

回溯法求解n个元素的集合的幂集

目录 1.回溯法 2.集合的幂集本质问题 3.集合的幂集 &#xff08;1&#xff09;集合 &#xff08;2&#xff09;求解集合的幂集 &#xff08;3&#xff09;算法描述 &#xff08;4&#xff09;算法实现 &#xff08;5&#xff09;算法拓展 1.回溯法 回溯法也是设计递归…

Android App开发实战之实现微信记账本(附源码 超详细必看)

需要源码或图片集请点赞关注收藏后评论区留言~~~ 一、需求描述 好用的记账本必须具备两项基本功能。一项时记录新帐单&#xff0c;另一项时查看账单列表&#xff0c;其中账单的记录操作要求用户输入账单的明细要素&#xff0c;包括账单的发生时间&#xff0c;账单的收支类型&a…

C++ 输入输出及txt文件输入示例

std::istream typedef basic_istream<char> istream;输入流对象可以读取和解释来自字符序列的输入。 提供了特定的成员来执行这些输入操作&#xff08;参见下面的函数&#xff09;。 标准对象 cin 就是这种类型的对象。 std::istream::getline istream& getline (…

Web3 用例全解析:传统品牌加速进入 Web3 的原因?

Web3 有能力彻底改变品牌和客户相互联系的方式。许多品牌已经在尝试使用 NFT 和元宇宙来提高品牌知名度和消费者忠诚度&#xff0c;这是传统社交媒体和电子商务渠道根本无法做到的。 NIKE、Panini 和 Vodafone 是最早认识到 NFT 价值的公司&#xff0c;而 Gucci、Balmain、Prad…

C语言百日刷题第七天

C语言百日刷题第七天61. 写一个函数isPowerOfTwo判断是不是2的幂次方62. 写一个函数isPowerOfThree判断是不是3的幂次方63.n 的第 k 个因子64.有效的完全平方数65.搜索旋转排序数组66.桌上拿硬币67.计算生成元68.计算分子量69.最佳情侣身高差70.拯救外星人61. 写一个函数isPowe…

计算机毕业设计springboot+vue+elementUI校园疫情防控系统

项目介绍 基本实现了校园疫情防控系统应有的主要功能模块&#xff0c;本系统有管理员、学生。管理员&#xff1a;首页、个人中心、核酸检测管理、体温状态管理、学生管理、学生状态管理、休假申请管理、出入登记管理、疫情知识管理、论坛管理、系统管理。学生权限&#xff1b;…

矩阵分析与计算学习记录-广义逆矩阵

本章重点内容&#xff1a; Penrose方程 {1}-逆的计算及性质 Moore-Penrose逆的计算及性质 tips&#xff1a;广义逆矩阵是在系数矩阵不可逆的情况下进行求解 1. Penrose方程 1.1 广义逆的定义与计算 1.2 Penrose方程基本概念 2. {1}-逆的计算及性质 2.1 {1}-逆的计算 2.2 …

大白话之 Iptables

背景 今天在安装traefik的时候遇见了很神奇的问题&#xff0c;80端口没有任何程序在监听&#xff0c;但是访问的话会返回it works&#xff0c;想来想去可能是iptables的问题&#xff0c;由于Iptables每次都是现查&#xff0c;所以觉得还是理解不到位&#xff0c;总结一波。 表…

远距离WiFi无线传输方案,CV5200模组通信应用,无线自组网技术

无线自组网是一种特殊的无线通信技术&#xff0c;无需依赖任何预先架设的网络设施就可以快速自动组网&#xff0c;并具有很强的抗毁性和灵活性。 特别适用于远距离&#xff0c;高速率的场合&#xff0c;比如无人机&#xff0c;安防监控&#xff0c;智慧建筑&#xff0c;智慧农…

分布式事务Seata源码解析13:TCC事务模式实现原理

文章目录一、前言二、GlobalTransactionScanner1、判断某一个Bean是否需要做TCC动态代理1> 判断bean实现的接口中是否有接口标注了LocalTCC注解2> 当Bean的某一个接口实现了LocalTCC注解之后&#xff0c;解析相应接口中的TCC内容&#xff1a;TCCResource数据样例3> TC…

mysql是怎么运行的-笔记

文章目录启动**MySQL**服务器程序 **1.3.1 UNIX**里启动服务器程序**Windows**里启动服务器程序服务器处理客户端请求常用存储引擎一些重要的字符集**MySQL**中的**utf8**和**utf8mb4**比较规则的查看MySQL有四个级别的字符集和比较规则**InnoDB**记录结构compact 行格式变长字…

【黄啊码】PHP压缩图片(简洁易懂版,不懂我下次不写)

大家好&#xff0c;我是黄啊码&#xff0c;今天我们来解决一件头疼的事情。作为技术人员&#xff0c;我们一般传图片都知道尽量传清晰和大小适中的图片&#xff0c;部署的时候当然也希望客户能按说明办事&#xff0c;但有的客户偏偏不听&#xff0c;就传大的&#xff0c;就传大…

Python标准库glob模块详解

glob是python中的内置模块&#xff0c;该模块主要是用来查找文件与目录的。glob模块是按照 Unix shell 所使用的规则找出所有匹配特定模式的路径名称。我们只需要了解该模块的匹配规则与常用函数&#xff0c;就会使文件查找&#xff0c;路径匹配变得非常快捷简单。 1.匹配规则…

【springboot整合ES】springboot整合ES

springboot整合ES 在Springboot整合ES提供了启动依赖jar。 该jar包封了一个类: RestHighLevelClient 该类可以对象ES中各个接口进行相应的操作。 1. 新建项目 创建springboot工程并导入相关的依赖 2.3.12.RELEASE。最新版spring boot2.7.5中RestHighLevelClient已过时 2. 创建…

python_爬虫

定时、定量、制定目标的数据搜集程序。 技术库 网络请求 urllibrequests&#xff08;三方&#xff09;/ urllib3selenium&#xff08;UI自动测试、动态js渲染&#xff09;appium&#xff08;手机App的爬虫或UI测试&#xff09; urllib requests 基于urllib和urllib3封装的…

什么是“孤岛效应”? ----防孤岛保护装置

防孤岛保护是对分布式光伏电站有着重要保护作用的。即当电网出现电压高、电压低、频率高、频率低故障时&#xff0c;光伏并网开关及时跳闸。当电网恢复供电并且电压和频率达到允许值时&#xff0c;并网开关要自动合闸。这样的目的是在为了国家电网不受太大影响的情况下&#xf…

理解透C语言一维数组,二维数组这一篇就够啦!

前言 &#x1f496;作者&#xff1a;龟龟不断向前 ✨简介&#xff1a;宁愿做一只不停跑的慢乌龟&#xff0c;也不想当一只三分钟热度的兔子。 &#x1f47b;专栏&#xff1a;C初阶知识点 &#x1f47b;工具分享&#xff1a; 刷题&#xff1a; 牛客网 leetcode笔记软件&#xff…

网站部署:使用Nginx部署vue项目到阿里云服务器

最近租了个阿里云的服务器&#xff0c;想使用Nginx把刚做好的网站部署上去 下载Nginx 目前yum已经有了Nginx的源&#xff0c;因此可以直接用yum下载和安装 yum -y install nginx默认的安装位置为/etc/nginx 默认的项目位置为/usr/share/nginx 如果安装失败检查是否安装了zli…

渗透测试-CTF文件类型操作

识别文件类型 文件分离 文件合并 识别文件类型 当文件没有后缀名或者有后缀名无法正常打开时&#xff0c;根据识别的文件类型来修改后缀名即可正常打开文件。 使用场景&#xff1a;不知道后缀名&#xff0c;无法打开文件。 第一种方式&#xff1a;kali中使用 file 文件名 f…

173:vue+openlayers:解决国内openstreetmap地图加载不出来的问题(代码示例)

第173个 点击查看专栏目录 近来写程序,发现openlayers用OSM方式来加载OpenStreetMap地图,一片爆红,瓦片加载不出来。 本示例的目的是介绍演示如何在vue+openlayers中解决OpenStreetMap地图在国内被DNS污染,加载不出来瓦片的问题,通常我们是直接引用OSM,这里采用的是XYZ方…