【Docker】6、Docker搭建Redis高可用Cluster集群环境

本文涉及的产品
云数据库 Redis 版,社区版 2GB
推荐场景:
搭建游戏排行榜
简介: 本篇文章将使用 docker 搭建 Redis 高可用 Cluster 集群环境,我们采用三主三从模式,使用 6 个节点搭建 Cluster 集群环境

1、拉取 Redis 镜像

docker pull redis

2、创建挂载目录

mkdir -p /mnt/redis/{6381,6382,6383,6384,6385,6386}/data

3、创建容器

docker create --name redis-6381 --restart=always --net host  \
-v /mnt/redis/6381/data:/data redis \
--requirepass 123456 \
--masterauth 123456 \
--port 6381 \
--appendonly yes \
--cluster-enabled yes \
--cluster-announce-ip 127.0.0.1

… …

docker create --name redis-6386 --restart=always --net host  \
-v /mnt/redis/6386/data:/data redis \
--requirepass 123456 \
--masterauth 123456 \
--port 6386 \
--appendonly yes \
--cluster-enabled yes \
--cluster-announce-ip 127.0.0.1
  • requirepass:外面服务、客户端来连接 redis 的密码
  • masterauth:redis从去连接 redis 主使用的密码。这个意思是说,如果你在主上设置了requirepass 参数,你就需要再从上设置 masterauth 参数,并和主密码指定成一样的。这样从才能继续去同步主的数据
  • appendonly:是否开启持久化
  • cluster-announce-ip:对外提供访问的IP,如果集群机器不在局域网内的服务器需填写外网域名或IP

4、启动节点容器

docker start redis-6381 redis-6382 redis-6383 redis-6384 redis-6385 redis-6386

5、创建 Redis 集群

docker exec -it redis-6381 redis-cli -a 123456 --cluster create 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384 127.0.0.1:6385 127.0.0.1:6386 --cluster-replicas 1
  • cluster-replicas:指定从节点的个数

6、测试

docker exec -it redis-6381 redis-cli -h 127.0.0.1 -p 6382 -a 123456 -c
  • 集群信息
cluster info
  • 集群节点
cluster nodes
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
2天前
|
NoSQL Redis Docker
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
Mac上轻松几步搞定Docker与Redis安装:从下载安装到容器运行实测全程指南
12 0
|
2天前
|
NoSQL Linux Redis
本地虚拟机centos7通过docker安装主从redis3.2
本地虚拟机centos7通过docker安装主从redis3.2
10 0
|
5天前
|
存储 监控 NoSQL
Redis是如何保证高可用的?
通过这些机制,Redis可以在主节点故障或其他异常情况下保持高可用性,确保数据的可靠性和可用性。不过,为了实现高可用性,需要仔细规划和配置Redis集群,并确保监控和故障恢复机制的可靠性。
19 6
|
12天前
|
NoSQL Redis Docker
使用docker安装redis
该文档介绍了如何使用Docker快速搭建Redis数据库,以便于Spring Boot学习。主要内容包括获取Redis镜像、创建容器、配置持久化存储目录和修改默认配置文件,以及检查和访问Redis容器服务。此外,还提到若需外部访问,需开启宿主机防火墙相应端口。注意,本教程不深入讲解Docker,若想深入学习Docker,建议另寻专门课程。
|
14天前
|
存储 负载均衡 监控
Redis分区指南:如何实现高可用与扩展性
本文由技术小伙伴小米讲解Redis分区容错中的数据分区。内容涉及Hash、一致性Hash、Codis的Hash槽和RedisCluster四种方法。Hash简单但不稳定,数据迁移和分区不均衡是其主要问题;一致性Hash通过最小化数据迁移实现负载均衡,但仍有局限;Codis的Hash槽提供灵活的负载均衡和在线迁移;RedisCluster是官方高可用、可扩展的解决方案。每种方案有优缺点,需根据实际需求选择。
40 0
Redis分区指南:如何实现高可用与扩展性
|
17天前
|
NoSQL 网络安全 Redis
【docker】部署的redis突然连接不上了
【docker】部署的redis突然连接不上了
18 1
|
17天前
|
NoSQL Redis Docker
使用Docker搭建Redis主从集群
使用Docker搭建Redis主从集群
32 1
|
18天前
|
存储 NoSQL Redis
Docker 安装 Redis 6.2.6
Docker 安装 Redis 6.2.6
32 0
|
19天前
|
存储 缓存 运维
软件体系结构 - 缓存技术(5)Redis Cluster
【4月更文挑战第20天】软件体系结构 - 缓存技术(5)Redis Cluster
140 10
|
1月前
|
运维 NoSQL 算法
Java开发-深入理解Redis Cluster的工作原理
综上所述,Redis Cluster通过数据分片、节点发现、主从复制、数据迁移、故障检测和客户端路由等机制,实现了一个分布式的、高可用的Redis解决方案。它允许数据分布在多个节点上,提供了自动故障转移和读写分离的功能,适用于需要大规模、高性能、高可用性的应用场景。
25 0