【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

导读:本篇文章讲解 【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

目录

3主3从redis集群配置

一、新建6个docker容器redis实例

二、进入容器redis-node-1并为6台机器构建集群关系

 三、链接进入6381作为切入点,查看节点状态

四、​​​​​​​主从容错切换迁移案例

1.数据读写存储

2.容错切换迁移

也可以查看这篇在CentOS上搭建:Redis 集群 

3主3从redis集群配置

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

一、新建6个docker容器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

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

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

查看效果:

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

命令参数说明:

  • docker run        创建并运行docker容器实例
  • –name redis-node-6        容器名字
  • –net host        使用宿主机的IP和端口,默认
  • –privileged=true        获取宿主机root用户权限
  • -v /data/redis/share/redis-node-6:/data        容器卷,宿主机地址:docker内部地址
  • redis:6.0.8        redis镜像和版本号
  • –cluster-enabled yes        开启redis集群
  • –appendonly yes        开启持久化
  • –port 6386        redis端口号

二、进入容器redis-node-1并为6台机器构建集群关系

#1. 进入容器
docker exec -it redis-node-1 /bin/bash

#2. 构建主从关系
redis-cli --cluster create 192.168.78.133:6381 192.168.78.133:6382 192.168.78.133:6383 192.168.78.133:6384 192.168.78.133:6385 192.168.78.133:6386 --cluster-replicas 1

--cluster-replicas 1 表示为每个master创建一个slave节点,两两配对

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

3主3从构建成功:

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

 三、链接进入6381作为切入点,查看节点状态

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

四、​​​​​​​主从容错切换迁移案例

1.数据读写存储

在6381写入数据,有些会报错,这是因为在集群环境中数据自动分配哈希槽导致:

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

解决办法:加入参数-c,进入集群模式

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

​​​​​​​查看集群信息        cluster check

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

2.容错切换迁移

(1)主机6381和从机切换,先停止主机6381

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

6381主机停了,对应的从机6386上位

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

6381作为1号主机分配的从机以实际情况为准,具体是几号机器就是几号

(2)重启6381,变为从机了 

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

(3)停止6386,让6381上位变为master

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

(4)恢复6368,重新变为从机

【云原生 | Docker 高级篇】03、搭建 Redis 3主3从集群

以往操作说明,无论那台宕机了,数据都不会消失。 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/74600.html

(0)
小半的头像小半

相关推荐

极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!