redis cluster集群部署(docker部署)

news/2024/11/13 10:27:14/文章来源:https://www.cnblogs.com/Leonardo-li/p/18539480

1.集群说明

    三台测试机器172.16.4.78、172.16.4.79、172.16.4.80,做三主三从,请提前安装好docker以及docker-compose

槽位容器名称连接方式
172.16.4.78:26379 172.16.4.78:26380 0-5460 redis_26379、redis_26380 cluster集群只有0库 代理三个主库做轮询
172.16.4.79:26381 172.16.4.79:26382 5461-10922 redis_26381、redis_26382 cluster集群只有0库  
172.16.4.80:26283 172.16.4.80:26284 10923-16383 redis_26383、redis_26384 cluster集群只有0库  

 

2.部署步骤

1.依然使用基线redis配置文件、镜像,我的目录结构

172.16.4.78 /data/aibox-common/redis/26379、/data/aibox-common/redis/26380
172.16.4.79 /data/aibox-common/redis/26380、/data/aibox-common/redis/26382
172.16.4.80 /data/aibox-common/redis/26381、/data/aibox-common/redis/26384

2.redis.conf配置文件编辑(可以修改一份配置文件之后cp到其他机器上,只需要修改对应端口即可,其他内容都一致)

2.1修改部分

port 26379  #每台机器的主从都要根据分配的端口进行修改...port 26384

2.2增加部分

cluster-enabled yes  #启用集群模式
cluster-config-file  #nodes-26379.conf 或 nodes-26380.conf
cluster-node-timeout 5000  #连接超时

2.3启动容器

分别进入到3台服务器的redis目录启动redis容器,

如:(修改对应服务器sevice名称、容器名称、映射目录、端口等)

[root@localhost 26379]# cat docker-compose.yaml 
version: '3.9'
services:redis_26379:image: 172.16.11.17:48090/public/redis:6.0restart: alwaysdeploy:resources:limits:memory: '3G'reservations:memory: '2G'container_name: redis_26379volumes:- /etc/localtime:/etc/localtime:ro- /data/aibox-common/redis/26379/conf/redis.conf:/usr/local/etc/redis/redis.conf- /data/aibox-common/redis/26379/data:/dataports:- 26379:26379command: redis-server /usr/local/etc/redis/redis.confnetwork_mode: "host"

 

cd /data/aibox-common/redis/26379  && docker-compose up -d

 

2.4启动之后,每台服务器都有两个redis

2.5 创建redis集群

#在 172.16.4.78 上执行以下命令创建集群:

docker exec -it redis_26379 bash
redis-cli --cluster create --cluster-replicas 1 -a ytx@123 \
172.16.4.78:26379 172.16.4.78:26380 \
172.16.4.79:26381 172.16.4.79:26382 \
172.16.4.80:26383 172.16.4.80:26384  

 

#以上命令会安装先后顺序自己创建主从,如:172.16.4.78:26379 172.16.4.78:26380,第一个就是主数据库、第二个就是第一个的从数据库,--cluster-replicas 1此参数就是有一个从数据库,如果想设置多个从,可以修改此参数

#以上命令也会自动创建槽点,在集群创建成功后,可以使用命令查看

#查看槽点分布
127.0.0.1:26379> CLUSTER SLOTS
1) 1) (integer) 10923
2) (integer) 16383
3) 1) "172.16.4.80"
2) (integer) 26383
3) "1358076d4a4a8e23ea8a4a81dd26a3818d3c0978"
4) 1) "172.16.4.78"
2) (integer) 26380
3) "b688d5e791f974f31da75cc539bcb21485386208"
2) 1) (integer) 0
2) (integer) 5460
3) 1) "172.16.4.78"
2) (integer) 26379
3) "5488dcbe811b5ff4941804e9a81a72268c23578e"
4) 1) "172.16.4.79"
2) (integer) 26382
3) "c5c3a500059191cea6d69cf220823863588c30dc"
3) 1) (integer) 5461
2) (integer) 10922
3) 1) "172.16.4.79"
2) (integer) 26381
3) "08f108af8b3d67dc393f56289b346bb5f344fe7f"
4) 1) "172.16.4.80"
2) (integer) 26384
3) "c99621590e5ae2a476c1efee9da3d14e783cdc42"#集群创建成功后,可以查看node节点127.0.0.1:26379> cluster nodes
c99621590e5ae2a476c1efee9da3d14e783cdc42 172.16.4.80:26384@36384 slave 08f108af8b3d67dc393f56289b346bb5f344fe7f 0 1731297420762 3 connected
c5c3a500059191cea6d69cf220823863588c30dc 172.16.4.79:26382@36382 slave 5488dcbe811b5ff4941804e9a81a72268c23578e 0 1731297418755 1 connected
1358076d4a4a8e23ea8a4a81dd26a3818d3c0978 172.16.4.80:26383@36383 master - 0 1731297419000 5 connected 10923-16383
5488dcbe811b5ff4941804e9a81a72268c23578e 172.16.4.78:26379@36379 myself,master - 0 1731297419000 1 connected 0-5460
b688d5e791f974f31da75cc539bcb21485386208 172.16.4.78:26380@36380 slave 1358076d4a4a8e23ea8a4a81dd26a3818d3c0978 0 1731297418000 5 connected
08f108af8b3d67dc393f56289b346bb5f344fe7f 172.16.4.79:26381@36381 master - 0 1731297419758 3 connected 5461-10922#集群创建成功后,可以查看集群信息root@localhost:/data# redis-cli -p 26379 -a ytx@123
127.0.0.1:26379> cluster infocluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3
cluster_current_epoch:6
cluster_my_epoch:1
cluster_stats_messages_ping_sent:463
cluster_stats_messages_pong_sent:470
cluster_stats_messages_sent:933
cluster_stats_messages_ping_received:465
cluster_stats_messages_pong_received:463
cluster_stats_messages_meet_received:5
cluster_stats_messages_received:933#cluster_state:ok  说明集群状态正常#cluster_known_nodes:6 集群中已知的节点数量是 6 个。这包括主节点和从节点#cluster_size:3 集群中的主节点数量为 3 个,表示集群中有 3 个节点负责数据存储。

 

#参考文档

https://blog.csdn.net/kenkao/article/details/130761155

 

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

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

相关文章

智启新篇 | 您的专属AI大模型解决方案!

随着汽车智能化程度的不断提升,智能座舱作为汽车的重要组成部分,其功能和复杂度也在不断增加。从多屏交互、增强现实(AR)技术到个性化设置和语音交互,智能座舱为驾驶者提供了前所未有的驾驶体验。然而,这些新技术的引入也使得智能座舱的测试变得更加复杂和困难。在这样的…

团队作业4——项目冲刺-1

团队作业4——项目冲刺信息项 内容课程名称 广工计院计科34班软工作业要求位置 作业要求作业目标 小飞棍团队对需求改进和系统设计进行讨论GitHub链接 GitHub一、团队简介队名:小飞棍队团队成员:姓名 学号罗振烘(组长) 3122004748庄崇立 3122004633李响 3121002802何昌洲 3…

# 学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第8周学习总结

学期(如2024-2025-1) 学号(如:20241402) 《计算机基础与程序设计》第8周学习总结 作业信息这个作业属于哪个课程 <班级的链接>(如2024-2025-1-计算机基础与程序设计)这个作业要求在哪里 <作业要求的链接>(如2024-2025-1计算机基础与程序设计第一周作业)这个…

XXL-JOB docker 初始化

一、因为xxl-job 使用的是mysq 数据库,所有在 yaml 文件中,需要优先启动 mysql version: 3 services:mysql:image: mysql:8.0container_name: mysql8restart: alwaysenvironment:MYSQL_ROOT_PASSWORD: 123456MYSQL_DATABASE: xxl_jobports:- "3307:3306"xxl-job:im…

深度解读AI在数字档案馆中的创新应用:高效识别与智能档案管理

一、项目背景介绍 在信息化浪潮推动下,基于OCR技术的纸质档案电子化方案成为解决档案管理难题的有效途径。该方案通过先进的OCR技术,能够统一采集各类档案数据,无论是手写文件、打印文件、复古文档还是照片或扫描的历史资料,都能实现高效识别。利用文档智能分析技术,我们对…

2个月搞定计算机二级C语言——真题(11)解析

1. 前言 今天双 11,正好轮到讲第 11 篇,直接来个三 11。 那么本篇我们讲解2个月搞定计算机二级C语言——真题112. 程序填空题 2.1 题目要求2.2 提供的代码 #include <stdio.h> #include <ctype.h> #pragma warning (disable:4996) void fun(int* cd, int* cu…

代码随想录——二叉树-12.平衡二叉树

自顶向下递归(前序遍历)这种方法是一开始想到的,虽然ac了但是对于它的本质却不清不楚,不知道时间复杂度,不知道属于前序遍历。思路 首先得到root节点的左右子树的深度(左右),若深度差绝对值大于1(中),则root为根的树不是平衡二叉树; 否则继续递归root的左右子树,其…

【论文系列】之 ---- CLIP

CLIP(Contrastive Language-Image Pre-Training) 从名字显而易见:语言-图像,预训练,主要用于学习图像 该模型的核心思想是使用大量图像和文本的配对数据进行预训练,以学习图像和文本之间的对齐关系 CLIP模型有两个模态,一个是文本模态,一个是视觉模态,包括两个主要部分…

[极客大挑战 2019]Havefun

页面一只猫,啥东西也没有,直接检查页面源码发现只有输入参数cat==dog就会输出一个值直接拿到flag

代码随想录——二叉树-11.完全二叉树的节点个数

思路 一、层序遍历,时间复杂度O(n) 二、利用完全二叉树性质,时间复杂度O(logn * logn)(小于O(n)) 完全二叉树性质:若树深度为h,则前h-1层节点都达到最大值。第h层节点都集中在最左侧的位置 完全二叉树要么1.是满二叉树 2.最后一层没满满二叉树计算节点数太方便了,直接用…

Rocky9系统安装PostgreSQL

官网 https://www.postgresql.org/环境查看安装 登录官网根据平台选择帮助文档sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm sudo dnf -qy module disable postgresql sudo dnf install -y po…

【GiraKoo】GLSurfaceView闪现黑屏的问题

Android下GLSurfaceView在显示正式内容之前,会有一个黑屏的过程。本文解释如何解决这个问题。【GiraKoo】GLSurfaceView闪现黑屏的问题 现象在Android平台,多个Activity之间进行切换。 使用GLSurfaceView进行描画,会有短暂的黑屏显示。对策设置GLSurfaceView的Surface的Form…