前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Docker实战:Docker部署Redis集群

Docker实战:Docker部署Redis集群

作者头像
百思不得小赵
发布于 2022-12-01 07:06:33
发布于 2022-12-01 07:06:33
58300
代码可运行
举报
文章被收录于专栏:小赵Java总结小赵Java总结
运行总次数:0
代码可运行

1. 创建网卡

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker network create redis --subnet 172.38.0.0/16

2. 使用脚本创建6个redis配置文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
for port in $(seq 1 6); \
do \
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${port}/conf/redis.conf
port 6379 
bind 0.0.0.0
cluster-enabled yes 
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 172.38.0.1${port}
cluster-announce-port 6379
cluster-announce-bus-port 16379
appendonly yes
EOF
done

3. 启动服务 第一个服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 docker run -p 6371:6379 -p 16371:16379 --name redis-1 \
    -v /mydata/redis/node-1/data:/data \
    -v /mydata/redis/node-1/conf/redis.conf:/etc/redis/redis.conf \
    -d --net redis --ip 172.38.0.11 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

第二个服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 docker run -p 6372:6379 -p 16372:16379 --name redis-2 \
    -v /mydata/redis/node-2/data:/data \
    -v /mydata/redis/node-2/conf/redis.conf:/etc/redis/redis.conf \
    -d --net redis --ip 172.38.0.12 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

第三个服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 docker run -p 6373:6379 -p 16373:16379 --name redis-3 \
    -v /mydata/redis/node-3/data:/data \
    -v /mydata/redis/node-3/conf/redis.conf:/etc/redis/redis.conf \
    -d --net redis --ip 172.38.0.13 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

第四个服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 docker run -p 6374:6379 -p 16374:16379 --name redis-4 \
    -v /mydata/redis/node-4/data:/data \
    -v /mydata/redis/node-4/conf/redis.conf:/etc/redis/redis.conf \
    -d --net redis --ip 172.38.0.14 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

第五个服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 docker run -p 6375:6379 -p 16375:16379 --name redis-5 \
    -v /mydata/redis/node-5/data:/data \
    -v /mydata/redis/node-5/conf/redis.conf:/etc/redis/redis.conf \
    -d --net redis --ip 172.38.0.15 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

第六个服务:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 docker run -p 6376:6379 -p 16376:16379 --name redis-6 \
    -v /mydata/redis/node-6/data:/data \
    -v /mydata/redis/node-6/conf/redis.conf:/etc/redis/redis.conf \
    -d --net redis --ip 172.38.0.16 redis:5.0.9-alpine3.11 redis-server /etc/redis/redis.conf

4. 创建集群 进入redis-1容器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
docker exec -it redis-1 /bin/sh

创建集群

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replic
as 1

查看配置

5. 演示高可用

首先向redis集群set值

可以看到,数据保存在redis-3这个服务中,接下来手动停止这个服务

获取设置进去的值

数据从redis-4服务获取到,redis-4服务是redis-3服务的从机,这就实现了高可用!!

6.整体集群架构图

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Docker部署redis-cluster集群
1、创建网络 [root@iZ2zeir6vcnpz8qw3t455tZ ~]# docker network create redis --subnet 172.38.0.0/16 4323026b1d7145e167f22ecc0e908dfe0d75765380840e29e6b7010f1b3b902c [root@iZ2zeir6vcnpz8qw3t455tZ ~]# docker network ls NETWORK ID NAME DRI
胡齐
2020/05/07
1.3K0
Docker搭建Redis Cluster集群
Redis Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点连接。
子润先生
2021/06/23
8.6K2
Dcoker上搭建Redis集群
进入docker机并使用上述的两种方式连接,推荐第二种,因为后续使用redission连接不会出现错误
zhaozhen
2021/09/03
3980
Docker实战-部署「Redis集群」
阅读量: 51 Redis集群思维导图 创建集群 一、创建自定义网络模式 docker network create --driver bridge --subnet 172.28.0.0/16 redis-group 二、Shell脚本快速创建集群 1. 创建配置文件夹并启动容器 # 创建集群配置文件夹 for port in $(seq 1 6); \ do \ mkdir -p ./mydata/redis/node-${port}/conf touch ./mydata/redis/n
李昂君
2021/12/24
1.1K0
Docker实战-部署「Redis集群」
【Docker】搭建部署Redis高可用集群实验
【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili
宝耶需努力
2022/12/13
5160
【Docker】搭建部署Redis高可用集群实验
Docker 网络之redis集群搭建
Docker 搭建redis集群成功! 树苗如果因为怕痛而拒绝修剪,那就永远不会成材。
木字楠
2022/11/15
3680
Docker 网络之redis集群搭建
安装gcc-c++
前面已经简单熟悉过redis的下载安装使用,今天接着部署redis集群(cluster),简单体会一下redis集群的高可用特性。
甜点cc
2022/10/24
7200
安装gcc-c++
docker(完结)
部署Redis集群 # 创建网卡 docker network create redis --subnet 172.38.0.0/16 # 通过脚本创建六个redis配置 for port in $(
崔笑颜
2020/11/03
2920
docker(完结)
Redis集群报错cluster_state:fail,如何解决并重新恢复集群(IP问题/ slot未完全分配问题)
查看所有redis日志发现redis-5容器一直在反复连接192.168.3.1:6379这个master节点node-1
非著名运维
2022/06/22
3.7K0
使用Docker搭建redis集群
看到输出 docker 版本则表示 docker 已经成功安装,此时我们可以继续运行 hello world 的容器,测试容器是否可以正常运行。
鳄鱼儿
2024/05/21
2130
使用Docker搭建redis集群
Docker网络详解
Docker 网络 Docker网络原理 每启动一个Docker 容器,docker 将给docker 容器分配一个ip 只要启动了docker 就会有一个docker0 网络使用的是桥接模式,ev
PayneWu
2020/12/18
4840
Docker网络详解
Docker教程(超全总结)[通俗易懂]
如果需要通俗地描述容器的话,我觉得容器就是一个存放东西的地方,就像书包可以装各种文具、衣柜可以放各种衣服、鞋架可以放各种鞋子一样。我们现在所说的容器存放的东西可能更偏向于应用比如网站、程序甚至是系统环境。
全栈程序员站长
2022/11/04
3.3K0
Docker教程(超全总结)[通俗易懂]
Redis Cluster
为何要搭建Redis集群。Redis是在内存中保存数据的,而我们的电脑一般内存都不大,这也就意味着Redis不适合存储大数据,适合存储大数据的是Hadoop生态系统的Hbase或者是MogoDB。Redis更适合处理高并发,一台设备的存储能力是很有限的,但是多台设备协同合作,就可以让内存增大很多倍,这就需要用到集群。
一点博客
2019/07/24
6440
Redis集群更换节点IP后如何恢复集群并保留完整集群数据
在现实生产环境中我们可能会遇到一种情况,那就是系统需要从一个网段迁移到另一个网段。但是由于redis集群在创建时配置文件中是指定了每个节点的IP地址及端口的,因此在redis节点IP更换后,原有的集群也就失效了。如果要恢复原有的集群应该怎么办?如果不考虑集群数据的话,我们可以直接选择删除所有redis节点的数据文件dbfilename、持久化文件appendfilename、集群配置文件cluster-config-file,然后重建集群即可。但是大部分情况下我们是需要保留redis集群数据的,那么我们又该怎么来操作呢?下面演示下
非著名运维
2022/06/22
1.5K0
【Redis入门到精通十一】Redis集群
如上图所示,在把全集数据平均分成多个部分,交给多个Redis主从服务器存储数据,这就是Redis集群,其中每个master与其对应的slave保存的是同样的数据,占总数据的1/3。
小皮侠
2024/10/11
1820
【Redis入门到精通十一】Redis集群
通过 Docker 部署 Redis 集群
在 Redis 3.0 版本后正式推出 Redis 集群模式,该模式是 Redis 的分布式的解决方案,是一个提供在多个 Redis 节点间共享数据的程序集,且 Redis 集群是去中心化的,它的每个 Master 节点都可以进行读写数据,每个节点都拥有平等的关系,每个节点都保持各自的数据和整个集群的状态。
JAVA葵花宝典
2021/04/08
9250
通过 Docker 部署 Redis 集群
史上最详细Docker搭建Redis Cluster集群环境 值得收藏 每步都有图,不用担心学不会
创建虚拟网卡,主要是用于redis-cluster能于外界进行网络通信,一般常用桥接模式。
宁在春
2022/10/31
3.3K0
史上最详细Docker搭建Redis Cluster集群环境 值得收藏 每步都有图,不用担心学不会
初识Redis · 集群
在我们前文介绍的主从复制,主从模式+哨兵模式下,确实能够提高Redis的高可用性,但是不管是主从模式还是加上了哨兵,总的数据容量还是只有一个节点那么大,那么问题来了,在提高高可用的基础上,我们能不能有效的扩展Redis整体的存储容量呢?
_lazy
2025/05/01
680
初识Redis · 集群
docker配置redis集群和scrapyd服务
Redis集群的配置方式我们上一篇已经介绍过了,而且使用Dockerfile配置文件我们也介绍了,不过介绍的并不详细,可能有些人看不明白,这篇我们再介绍一些Docker的一些常用命令。
星星在线
2018/08/21
9470
docker配置redis集群和scrapyd服务
【云安全最佳实践】搭建redis集群
一、基础概览1、redis集群最少需要6个节点,且redis集群下只有db0,不支持多db。2、开放端口节点访问:6391-6393集群连接:16391-16393二、准备容器挂载的目录1.创建根目录mkdir /servercd /server2.创建容器目录。然后给每个节点创建对应的目录和配置文件服务器1 192.168.79.131 init.shfor port in $(seq 6391 6393); \do \mkdir -p /server/redis-cluster/redis-node-$
用户4392429
2022/10/19
8870
相关推荐
Docker部署redis-cluster集群
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验