前言

如果你也因为centos的gcc版本落后导致redis编译安装不通过而烦恼,大可以试一试用docker去搭建redis集群。本文以单节点搭建redis-cluster三主三从为例。

  • ip:192.168.0.10
  • redis信息:
    • 客户端连接端口:7001 -7006
    • 集群间通信端口:17001 - 17006
    • 密码:123456
  • 版本:
    • docker:18.06
    • docker-compose:1.24
    • redis:6.2.4
    • centos: 7.4

准备

  1. 下载redis镜像
docker pull redis:6.2.4
  1. 准备redis的配置文件:redis.conf。主要修改端口和ip
port 7001
cluster-enabled yes
cluster-config-file nodes-7001.conf
cluster-node-timeout 5000
appendonly yes
protected-mode no
requirepass 123456
masterauth 123456
cluster-announce-ip 192.168.0.10
cluster-announce-port 7001
cluster-announce-bus-port 17001
  1. 准备持久化目录
mkdir -p /home/web/redis
cd /home/web/redis
for i in $(seq 7001 7006); do mkdir -p /home/web/redis/node_${i}/{conf,data};done
# 或者: for i in $(seq 7001 7006); do mkdir -p ./node_${i}/{conf,data};done
# 假设redis.conf在 /home/web/redis,且当前目录为/home/web/redis
for i in $(seq 7001 7006); do sed "s/7001/${i}/g" /home/web/redis/redis.conf > /home/web/redis/node_${i}/conf/redis.conf;done
# 或者: for i in $(seq 7001 7006); do sed "s/7001/${i}/g" ./redis.conf > ./node_${i}/conf/redis.conf;done

配置docker-compose.yaml

  1. 编写docker-compose.yaml(注意路径、密码、IP和端口号)
version: "3"
# 定义服务,可以多个
services:redis-7001: # 服务名称image: redis:6.2.4  # 创建容器时所需的镜像container_name: redis-7001 # 容器名称restart: always # 容器总是重新启动volumes: # 数据卷,目录挂载- /home/web/redis/node_7001/conf/redis.conf:/usr/local/etc/redis/redis.conf- /home/web/redis/node_7001/data:/dataports:- 7001:7001- 17001:17001command:redis-server /usr/local/etc/redis/redis.confredis-7002: # 服务名称image: redis:6.2.4  # 创建容器时所需的镜像container_name: redis-7002 # 容器名称restart: always # 容器总是重新启动volumes: # 数据卷,目录挂载- /home/web/redis/node_7002/conf/redis.conf:/usr/local/etc/redis/redis.conf- /home/web/redis/node_7002/data:/dataports:- 7002:7002- 17002:17002command:redis-server /usr/local/etc/redis/redis.confredis-7003: # 服务名称image: redis:6.2.4  # 创建容器时所需的镜像container_name: redis-7003 # 容器名称restart: always # 容器总是重新启动volumes: # 数据卷,目录挂载- /home/web/redis/node_7003/conf/redis.conf:/usr/local/etc/redis/redis.conf- /home/web/redis/node_7003/data:/dataports:- 7003:7003- 17003:17003command:redis-server /usr/local/etc/redis/redis.confredis-7004: # 服务名称image: redis:6.2.4  # 创建容器时所需的镜像container_name: redis-7004 # 容器名称restart: always # 容器总是重新启动volumes: # 数据卷,目录挂载- /home/web/redis/node_7004/conf/redis.conf:/usr/local/etc/redis/redis.conf- /home/web/redis/node_7004/data:/dataports:- 7004:7004- 17004:17004command:redis-server /usr/local/etc/redis/redis.confredis-7005: # 服务名称image: redis:6.2.4  # 创建容器时所需的镜像container_name: redis-7005 # 容器名称restart: always # 容器总是重新启动volumes: # 数据卷,目录挂载- /home/web/redis/node_7005/conf/redis.conf:/usr/local/etc/redis/redis.conf- /home/web/redis/node_7005/data:/dataports:- 7005:7005- 17005:17005command:redis-server /usr/local/etc/redis/redis.confredis-7006: # 服务名称image: redis:6.2.4  # 创建容器时所需的镜像container_name: redis-7006 # 容器名称restart: always # 容器总是重新启动volumes: # 数据卷,目录挂载- /home/web/redis/node_7006/conf/redis.conf:/usr/local/etc/redis/redis.conf- /home/web/redis/node_7006/data:/dataports:- 7006:7006- 17006:17006command:redis-server /usr/local/etc/redis/redis.conf
  1. 启动
docker-compose -f ./docker-compose.yaml up -d
# 如果docker-compose.yaml文件在当前路径: 
# docker-compose up -d

搭建集群

  1. 进入任意一个redis容器
docker exec -it redis-7001 bash
  1. 创建集群
# 注意IP、端口号和密码
echo -e 'yes' | redis-cli -a 123456 --cluster create 192.168.0.10:7001 192.168.0.10:7002 192.168.0.10:7003 192.168.0.10:7004 192.168.0.10:7005 192.168.0.10:7006 --cluster-replicas 1
  1. 检查集群状态
# 查看集群状态
redis-cli -a 123456 -h 192.168.0.10 -p 7001 cluster info
# 查看集群节点
redis-cli -a 123456 -h 192.168.0.10 -p 7001 cluster nodes

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

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LLaMA-Factory 实战系列】二、WebUI 篇 - Qwen2.5-VL 多模态模型 LoRA 微调保姆级教程

【LLaMA-Factory 实战系列】二、WebUI 篇 - Qwen2.5-VL 多模态模型 LoRA 微调保姆级教程 1. 引言1.1 为什么选择 Qwen2.5-VL-3B-Instruct?1.2 环境要求 2. 环境搭建2.1 安装 LLaMA-Factory2.2 验证安装 3. 数据集准备与配置3.1 数据集结构3.2 数据格式3.3 数据集声明…

风险矩阵与灰色综合评价

一、风险矩阵(Risk Matrix) 1. 定义与原理 定义:风险矩阵是一种通过二维网格(可能性 vs. 后果严重程度)可视化展示风险等级的工具,用于优先级排序和决策支持。核心要素: 横轴(X轴&…

谷歌浏览器电脑版官方下载- Google Chrome官方网页版入口

谷歌浏览器(Google Chrome)是一款由谷歌公司开发的免费网页浏览器,自2008年首次发布以来,迅速成为全球最受欢迎的浏览器之一。它以简洁的界面设计、快速的浏览速度和强大的安全性能而闻名。谷歌浏览器支持多种操作系统&#xff0c…

垂直电商供应链平台:重构产业生态,驱动数字化增长

垂直电商供应链平台:重构产业生态,驱动数字化增长 在电商行业竞争日益激烈的当下,垂直电商供应链平台凭借对细分领域的深度聚焦与数字化能力,成为产业升级的关键引擎。本文围绕垂直电商供应链平台的架构、价值及生态构建展开&…

VSCode 插件 Remote - SSH:开启高效远程开发之旅

在当今的软件开发领域,远程开发已经成为了一种越来越流行的工作方式。无论是分布式团队协作,还是需要在不同环境中进行开发,远程开发都能为开发者带来极大的便利。而 VSCode 的 Remote - SSH 插件,就是一款能够帮助开发者实现高效…

亚矩阵云手机+Whatnot:直播电商的自动化增长引擎

在直播电商蓬勃发展的今天,Whatnot作为北美领先的收藏品和潮流商品拍卖平台,吸引了大量卖家和收藏爱好者。然而,高效运营多个账号、管理直播场次、优化出价策略等挑战,让许多商家难以规模化经营。​​亚矩阵云手机​​与​​Whatn…

关于vue.mixin与vue.use的用法分析

背景。源码不会读,不清楚的问大模型。特别是对平常开发太会用到的情形。 vue.mixin。是将每一个页面注入mixin的内容。会对页面中注入$uStore而不是方便获取状态信息。 vue.use。按装的插件。用于封装完整的功能,如UI库,路由拦截器等&…

MySQL 8.x配置MGR高可用+ProxySQL读写分离(二):ProxySQL配置MySQL代理及读写分离

#作者:stackofumbrella 文章目录 ProxySQL简介ProxySQL架构ProxySQL的安装与配置在不同层次间移动配置 ProxySQL简介 ProxySQL是基于MySQL的一款开源的中间件的产品,是一个灵活的MySQL代理层,可以实现读写分离,支持Query路由功能…

基于 Python Flask 的 B/S 架构项目的软件设计思路

文章目录 基于 Python Flask 的 B/S 架构项目的软件设计思路1. 引言2. B/S架构概述2.1 什么是B/S架构2.2 B/S架构的组成层次2.3 B/S vs C/S架构对比2.4 现代B/S架构的发展趋势 3. Flask在B/S架构中的定位3.1 Flask作为B/S架构的后端框架3.2 Flask的架构优势3.3 Flask在不同B/S架…

AntV F2入门教程

以下教程将系统地介绍 AntV F2(移动端可视化引擎)的核心 组件 API,包含安装与引入、画布与图表、数据映射、几何标记、坐标轴、图例、提示、标注和滚动条等,每个 API 都附带完整示例代码,帮助你快速掌握 F2 用法。 一…

退休时医疗保险补缴的基数影响什么

退休时医疗保险的补缴基数主要影响补缴金额、医保个人账户划入待遇、终身医保待遇的享受条件等关键方面。以下是具体分析: 1. 影响补缴金额的多少 补缴基数通常以退休时上年度全省/市职工月平均工资或本人退休前缴费基数为基准(各地政策不同&#xff09…

conda导出环境文件requirements.txt

conda导出的几种方式 方式一:使用pip freeze(推荐) 如果你主要使用 pip 安装包,且环境中的包都兼容 PyPI,可以直接用 pip 导出: conda activate your_env_name # 激活环境(若未激活&#xf…

华为云 Flexus+DeepSeek 征文|增值税发票智能提取小工具:基于大模型的自动化信息解析实践

华为云 FlexusDeepSeek 征文|增值税发票智能提取小工具:基于大模型的自动化信息解析实践 前言背景 企业财务处理中,增值税发票信息手动提取存在效率低、易出错等痛点,华为云 Flexus 弹性算力联合 DeepSeek 大模型,通过…

亚马逊选品 家具或艺术?指纹技术重构两者

58%毛利!生物识别首饰盒代理 奢侈品零售的隐藏金矿:安防产品的毛利是普通家居的3倍! 核心数据 零售价 4,900 | 代理价 1,990 → 毛利58% 零库存风险:90天寄售周期 72小时售罄:贝弗利山庄快闪店卖出47台 首批10家特权…

面试150 加油站

思路 此题,我们从贪心算法的角度进行思考。通过计算净消耗,如果总的净消耗小于0,说明无论如何都不能环路行驶一周。我们通过定义一个start起点,通过遍历数组计算净消耗,如果净消耗小于0,重新置0&#xff0…

2025年渗透测试面试题总结-渗透测试工程师(题目+回答)

安全领域各种资源,学习文档,以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具,欢迎关注。 目录 渗透测试工程师 1. 自我介绍 2. 印象深刻的渗透案例:电商平台供应链攻击 3. 渗透测试标准化流…

Vulkan 学习笔记15—Mipmap 与多重采样

一、Mipmap 生成总结 一、Mipmap 基础概念 定义:Mipmap 是图像预先计算的缩小版本,每个层级宽高为前一层的一半,用作细节级别(LOD)。作用: 远离相机的对象使用较小层级采样,提升渲染速度。避免…

HarmonyOS隐私保护全攻略:从入门到精通

📱 HarmonyOS隐私保护全攻略:从入门到精通 🛡️ 大家好呀!今天咱们来聊聊移动互联网时代最让人头疼的问题之一 —— 隐私保护!随着HarmonyOS生态越来越丰富,这个问题也变得格外重要啦!✨ &…

《使用IDEA插件部署Spring Boot项目到Docker》

准备工作 确保已安装Docker并已启动/本地也需要安装Docker IDEA中已安装Docker插件(通常已预装) 项目是基于Spring Boot的Maven或Gradle项目 1. 配置Docker连接 打开IDEA设置(File > Settings)导航到Build, Execution, Deployment > Docker点击…

植物神经小知识

在消化系统方面,患者可能长期饱受胃痛、胃胀、食欲不振、恶心呕吐、腹泻或便秘交替的折磨。吃任何食物都味同嚼蜡,体重也会在短时间内大幅波动。在心血管系统,持续性的心悸、胸闷、胸痛让人仿佛时刻处于 “心脏病发作” 的恐惧之中&#xff0…