docker搭建redis集群(三主三从)及重启redis集群

这篇具有很好参考价值的文章主要介绍了docker搭建redis集群(三主三从)及重启redis集群。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、docker搭建redis集群

1、下载redis镜像文件

从远程仓库先拉取一下redis的镜像文件,如果已经提前安装过镜像的,可以跳过此步骤:

docker pull redis:6.0.8

2、查看本地拉取到镜像文件

docker images

redis 集群 重启,docker,redis,java看到图上标识,就说明当前镜像文件已经下载好了。

3、启动6台redis docker实例

通过镜像文件,分别启动6台redis容器实例,并且数据卷挂载到宿主机上(保障容器被意外删除后数据不丢失):

#第一台redis容器实例启动,输入下列命令并回车
docker run -d --name redis-node-1 --net host --privileged=true -v /data/redis/share/redis-node-1:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6381

#第二台redis容器实例启动,输入下列命令并回车
docker run -d --name redis-node-2 --net host --privileged=true -v /data/redis/share/redis-node-2:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6382

#第三台redis实例,注意修改容器名字和端口
docker run -d --name redis-node-3 --net host --privileged=true -v /data/redis/share/redis-node-3:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6383

#第四台
docker run -d --name redis-node-4 --net host --privileged=true -v /data/redis/share/redis-node-4:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6384

#第五台
docker run -d --name redis-node-5 --net host --privileged=true -v /data/redis/share/redis-node-5:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6385

#第六台
docker run -d --name redis-node-6 --net host --privileged=true -v /data/redis/share/redis-node-6:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6386

每一台实例都是按照上述命令安装,只修改一下节点的名字和端口号即可:

4、查看6台redis容器是否启动成功

docker ps 

5、将6台redis容器实例搭建成集群关系

先进入其中一台redis容器:

#进入redis-node-1这个节点的内部
docker exec -it redis-node-1 /bin/bash

然后开始搭建主从关系:

#简单的三主三从就是一台主机、对应一台复制机,所以--cluster-replicas 为1
redis-cli --cluster create 192.168.245.129:6381 192.168.245.129:6382 192.168.245.129:6383 192.168.245.129:6384 192.168.245.129:6385 192.168.245.129:6386 --cluster-replicas 1

#注意将ip修改为自己的宿主机ip,端口对应之前创建的节点port

当出现提示“Can I set the above configuration? (type 'yes' to accept):”的时候,输入yes即可;

这样就可以完成咱们三主三从的集群搭建了;

redis 集群 重启,docker,redis,java

5、查看集群的状态的三种方式

可以进入任意一个redis容器内部

#先通过容器名字或者容器的id进入容器内部
docker exec -it redis-node-1 /bin/bash

#然后进入6381端口的这个客户端,-c表示以集群的方式进入
redis-cli -p 6381 -c
  • 通过cluster info 命令查看

redis 集群 重启,docker,redis,java

  • 通过cluster nodes查看

#查询集群信息的第二种方式
cluster nodes

结果:

redis 集群 重启,docker,redis,java

  • 通过redis-cli --cluster check 192.168.245.129:6381  查看(改成自己的ip哈)

具体操作:redis 集群 重启,docker,redis,java

6、数据的存取测试

比如在redis-node-1(port:6381)当中存数据:

redis 集群 重启,docker,redis,java

在redis-node-5(port:6385)当中取数据呢?

redis 集群 重启,docker,redis,java

二、重启redis docker 集群

当redis容器意外关闭之后,存在两个问题:

Q1:里边存储的数据会丢失吗?

Q2:想要重启redis集群怎么办?

1、redis实例当中存储的数据会丢失吗?

由于咱们之前在创建redis实例的时候,已经做了数据卷的挂载,数据是和宿主机同在的,在容器当中保存的数据,在挂载的文件目录当中还可以找到:

进入挂载到宿主机的文件/data/redis/share/redis-node-1当中,可以看到存在有持久化的文件:dump.rdb和appendonly.aof。

之前启动redis实例的时候,同时做了数据卷的挂载:

redis 集群 重启,docker,redis,java

宿主机挂载的文件:

redis 集群 重启,docker,redis,java

2、怎么重启集群?还需要重新做集群配置吗?

  • 先查看一下各个redis容器状态

#先查看一下所有的容器的状态,注意加-a可以显示所有容器,包括已经退出的
docker ps -a

比如: 

redis 集群 重启,docker,redis,java

所有的redis实例都已经关闭了!

  • 重启redis的各个容器:

#可以通过start 容器id或者容器name启动
docker start redis-node-1 redis-node-2 redis-node-3 redis-node-4 redis-node-5 redis-node-6

 此时再查看docker当中的各个容器状态:

redis 集群 重启,docker,redis,java 

  • 然后进入任意一台redis容器当中,查看是否还存在集群的状态: 

#进入redis-node-1的容器当中
docker exec -it redis-node-1 /bin/bash

#第一部分讲了有三种查看集群状态的方式,随意用一种都可以

 redis 集群 重启,docker,redis,java

可以看到,集群的状态还存在,不需要重新搭建集群模式了!

  • 以集群模式进入任意一个redis客户端,验证一下数据是否还存在: 

redis 集群 重启,docker,redis,java 

可以看到数据依然存在!

 三、小结

1、搭建redis容器集群时:

启动6台redis实例:启动的同时最好完成数据卷挂载到宿主机(避免容器被误删,数据没有了),并且,为了保障持久化数据的完整性,最好开启aof持久化;

构建集群关系:需要进入任意一台redis容器内部,然后去通过:redis-cli --cluster create 6台redis的ip:端口  --cluster-replicas 1   ,完成构建集群关系;

最后有三种查看集群关系的方式;

2、重启redis docker集群:

 只需要重启被关闭的redis实例即可,不需要重新构建集群关系!之前存储的数据,也没有丢失!

 文章来源地址https://www.toymoban.com/news/detail-853838.html

 

到了这里,关于docker搭建redis集群(三主三从)及重启redis集群的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 云服务器上使用Docker Compose创建Redis三主三从集群

    云服务器 Ubuntu20.4 Dokcer 24.0.2 目录结构是这样: 绿色的目录是用来存储容器中的文件,不需要我们手动创建,将路径配置在配置文件中即可。黑色的目录和文件需要自己手动创建。  我们一共创建7个容器: redis1~redis6是集群节点,redis_cluster是用来搭建主从关系的一个容器,搭

    2024年02月09日
    浏览(77)
  • redis三主三从详细搭建过程

    搭建Redis三主三从集群的详细步骤如下: 准备环境: 确保你有六台服务器或虚拟机,每台服务器上都已经安装了Redis。这些服务器将用于搭建三主三从的Redis集群。 确保所有服务器之间的网络连接正常,并且防火墙设置允许Redis通信。 安装Redis: 在每台服务器上下载并安装

    2024年03月10日
    浏览(49)
  • 【kubernetes】k8s高可用集群搭建(三主三从)

    目录 【kubernetes】k8s高可用集群搭建(三主三从) 一、服务器设置 二、环境配置 1、关闭防火墙 2、关闭selinux 3、关闭swap 4、修改主机名(根据主机角色不同,做相应修改) 5、主机名映射 6、将桥接的IPv4流量传递到iptables的链 7、时间同步 8、master之间进行免密登录设置 三、

    2024年02月09日
    浏览(41)
  • 【redis】docker搭建redis集群

    docker搭建redis集群,超级简单方便。 参考文章: Redis 集群搭建详细指南 基于Docker的Redis集群搭建 redis: (error) CLUSTERDOWN The cluster is down Redis cluster集群模式的原理解析

    2024年02月14日
    浏览(38)
  • docker搭建redis集群

    1、配置文件 使用docker搭建redis集群必须要配置的内容,搭建几个集群,就需要几个配置文件。 配置文件中本节点 IP(cluster-announce-ip)、 端口(cluster-announce-port)、 总线端口(cluster-announce-bus-port) 需要单独配置,配置为 实际可访问到服务的地址 ,即docker映射后的端口。

    2024年03月15日
    浏览(44)
  • docker下搭建redis集群

    准备好Linux系统机器,并安装好docker,阅读这篇文章前请先了解清楚docker的基本知识并且会熟悉运用docker的常用命令。学习docker基础知识可以参考这篇博文 安装好并启动docker后就可以开始搭建redis了 本篇文章我们安装redis6.0.6版本,执行以下命令直接下载redis6.0.6版本镜像 安装

    2024年02月04日
    浏览(34)
  • 使用Docker搭建Redis主从集群

    欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主 : 我是 请回答1024 ,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端开发者。 博客特色 : 在我的博客中,开设了如下专栏( 点击可以进入专栏奥~ ): Java、MySQL、Redis、Spring、SpringB

    2024年04月24日
    浏览(42)
  • Docker 搭建Redis Cluster 集群

    环境: centos7 redis:7.0.5 三主三从,六个节点 一、下载redis镜像 docker pull redis:7.0.5 二、创建虚拟网卡 网卡类型为bridge桥接类型 三、准备redis配置文件 redis.conf 配置解释: port :节点端口; requirepass :设置密码,访问时需要验证 masterauth: 设置主从复制密码 protected-mode :保护模

    2024年02月09日
    浏览(41)
  • 使用docker搭建 redis cluster 集群

    目录 1.拉取redis镜像 2.创建network 3.创建redis配置文件 4.创建redis容器 5.创建Redis Cluster集群 6.测试 1.拉取redis镜像 2.创建network docker容器创建的应用会默认使用 bridge,但是每次重启docker此网络的ip会动态变更,因此需要我们自己手动创建一个固定的network 其它虚拟网卡相关命令

    2024年02月02日
    浏览(39)
  • 使用Docker-Compose搭建Redis集群

    3主+3从 由于仅用于测试,故我这里只用1台服务器进行模拟 redis列表 在server上创建一个目录用于存放redis集群部署文件。这里我放的路径为/root/redis-cluster 在/opt/docker/redis-cluster目录下创建redis-1,redis-2,redis-3,redis-4,redis-5,redis-6文件夹 注意:port值不能都为6379,根据上面redis列表设

    2024年02月15日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包