基于docker构建Redis Cluster

news/2025/3/30 15:06:22/文章来源:https://www.cnblogs.com/ashet/p/18797093

1、拉取Redis镜像

docker pull redis:latest

 

2、创建配置文件

比如在服务器的用户目录下/home/w/(俺的服务器用户目录)

mkdir redis
cd redis
mkdir bin
mkdir conf
cd conf

创建配置文件vim redis-node-1.conf ,依次6个文件redis-node-1.conf  redis-node-2.conf  redis-node-3.conf  redis-node-4.conf  redis-node-5.conf  redis-node-6.conf

port 6379
cluster-enabled yes
cluster-config-file redis-node-1.conf
cluster-node-timeout 5000
appendonly yes

 
3、创建脚本

创建初始化脚本 vim init_redis.sh 

#!/bin/bash# 启动6个Redis节点,启动命令中container使用了挂载于宿主服务器的配置文件,记得替换一下这个路径:/home/w/
docker run -d --name redis-node-1 -p 6379:6379 -v /home/w/redis/conf/redis-node-1.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --name redis-node-2 -p 6380:6380 -v /home/w/redis/conf/redis-node-2.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --name redis-node-3 -p 6381:6381 -v /home/w/redis/conf/redis-node-3.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --name redis-node-4 -p 6382:6382 -v /home/w/redis/conf/redis-node-4.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --name redis-node-5 -p 6383:6383 -v /home/w/redis/conf/redis-node-5.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf
docker run -d --name redis-node-6 -p 6384:6384 -v /home/w/redis/conf/redis-node-6.conf:/usr/local/etc/redis/redis.conf redis redis-server /usr/local/etc/redis/redis.conf# 等待节点启动
sleep 5# 创建集群
docker exec -it redis-node-1 redis-cli --cluster create \
"$(docker inspect -f '{{.NetworkSettings.IPAddress}}' redis-node-1):6379" \
"$(docker inspect -f '{{.NetworkSettings.IPAddress}}' redis-node-2):6380" \
"$(docker inspect -f '{{.NetworkSettings.IPAddress}}' redis-node-3):6381" \
"$(docker inspect -f '{{.NetworkSettings.IPAddress}}' redis-node-4):6382" \
"$(docker inspect -f '{{.NetworkSettings.IPAddress}}' redis-node-5):6383" \
"$(docker inspect -f '{{.NetworkSettings.IPAddress}}' redis-node-6):6384" \
--cluster-replicas 1echo "All Redis nodes should be running now. Here is the list of running containers:"
docker ps | grep redis

 

创建停止脚本 vim stop_redis.sh

#!/bin/bash# 停止redis cluster
for i in {1..6}; do
  docker stop redis-node-$i
done

 

创建删除镜像脚本 vim rm_redis.sh

#!/bin/bashfor i in {1..6}; do
  docker rm redis-node-$i
done

 

创建启动容器脚本 vim start_redis.sh 

#!/bin/bashfor i in {1..6}; do
  docker start redis-node-$i
done

 

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

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

相关文章

【AI News | 20250327】每日AI进展

AI Repos 1、playwright-mcp 使用Playwright提供浏览器自动化功能的MCP服务,核心是让LLM通过结构化的可访问性快照与网页交互,不需要依赖截图或视觉模型。可以用来自动填写网页表单、自动收集网页信息、自动进行网页测试等。支持两种模式:快照模式(默认):使用可访问性快照…

markdown常用命令行格式

Markdown 主要命令(语法)如下:标题 使用 # 号表示标题,# 的个数决定标题的级别:一级标题 二级标题 三级标题 四级标题 五级标题 六级标题段落 & 换行 直接输入文字形成段落,使用两个以上空格或 进行换行:这是一个段落。 这是同一段的下一行。 使用 <br> 也可…

微调可以获得什么

1.改变模型的行为: 使模型的响应更稳定; 使模型聚焦于某一领域; 发展期潜力,在某一方面更加出色,比如对话 2.获取新的知识: 学习预训练阶段没学过的知识; 纠正过时的错误和信息;

2022CCPC Online Contest G - Count Permutation

利用大写字母较少的性质,记录两个大写字母中间的串是否相等来进行转移。 设 \(f[i][j]\) 表示考虑用到第 \(i\) 个大写字母的时候,\(s\) 匹配到第 \(j\) 个字符时最长匹配数。当前大写字母 \(t[pos[i]] = s[j]\) 时,显然有 \(f[i][j] = f[i][j - 1] + 1\)如果 \(s[pos[i - 1…

第2章 C#2

第2章 C#2 2.1 泛型 2.1.1 示例:泛型诞生前的集合 在泛型诞生之前(.NET1),开发者常用如下方式创建集合:数组普通对象集合 如 ArrayList​、Hashtable​专用类型集合 如 StringCollection​// 数组 static string[] GenerateNames() {string[] names = new string[4];names…

ESP32S3串口UART0,UART1UART2,软件模拟串口,USB虚拟串口的使用 - 基于ArduinoIDE

硬件串口的使用 硬件资源我使用的具体的模组型号为 ESP32-S3-WROOM-1(U), 根据官方手册其有3个串口。UART0:通常用于下载和输出调试信息串口,信号管脚默认与 GPIO43(TX) ~ GPIO44(RX) 复用,可以通过 GPIO 交换矩阵连接到任意 GPIO. UART1:信号管脚默认与 GPIO17(TX) ~ GPIO…

从0搭建nacos单点、集群

主机IP 主机名10.0.0.91 elk9110.0.0.92 elk9210.0.0.93 elk93nacos单机部署使用内置数据库 1.下载解压nacos [root@elk91 ~]# wget https://github.com/alibaba/nacos/releases/download/2.5.1/nacos-server-2.5.1.tar.gz[root@elk91 ~]# tar xf nacos-server-2.5.1.tar.gz -C…

ESP32在ArduinoIDE中的配置

🟡 注意 使用 Arduino IDE 开发 ESP32 时除了要看 Arduino 官方的资料一定还要看乐鑫的支持包的资料。详见↗️ 安装ArduinoIDE 到 Arduino 官网 下载最新版的 Arduino IDE 并安装。 🟡 压缩包格式的下载选项意义不大,Arduino IDE 2 无法制作为便携版,参考:绿色(Portabl…

文献阅读《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》

参考博客: 论文解读二代GCN《Convolutional Neural Networks on Graphs with Fast Localized Spectral Filtering》 - 别关注我了,私信我吧 - 博客园 (cnblogs.com) 摘要 为将CNN推广到高维图结构数据中,基于spectral graph theory(谱图理论),设计了一种通用的fast local…

1013 Div3 F题目加注释

https://codeforces.com/contest/2091/problem/F这题主题思路就是递推,从下往上递推,然后用差分和前缀合得到下一行可能性,详细看代码注释点击查看代码 #include <bits/stdc++.h> using namespace std; using ll = long long; using pii = pair<int, int>; const…

20244319 实验二《Python程序设计》实验报告

20244319 2024-2025-2 《Python程序设计》实验二报告 课程:《Python程序设计》 班级: 2443 姓名: 梁悦 学号:20244319 实验教师:王志强 实验日期:2025年3月26日 必修/选修: 公选课 一、实验内容 1.设计并完成一个完整的计算机应用程序,完成加、减、乘、除、log等运算,…