【Redis】Docker下部署Redis集群----Redis Cluster(主从集群)



1.原文链接

Docker部署Redis集群----第十二节(docker-redis-cluster集群理论篇)

Docker部署Redis集群----第十三节(docker-Compose介绍)

基于Docker的Redis集群搭建

基于Docker搭建Redis集群(主从集群)


2.基于host模式创建六个容器

(1)为什么要是host模式:

在这里插入图片描述

(2)六个容器:

redis-node1:6379
redis-node2:6380
redis-node3:6381
redis-node4:6382
redis-node5:6383
redis-node6:6384

#创建容器
docker create --name redis-node1 --net host \
-v /aloneyue01/redis-cluster/redis-data/node1:/data redis:5.0.5 \
--cluster-enabled yes --cluster-config-file nodes-node-1.conf --port 6379

docker create --name redis-node2 --net host \
-v /aloneyue01/redis-cluster/redis-data/node2:/data redis:5.0.5 \
--cluster-enabled yes --cluster-config-file nodes-node-2.conf --port 6380

docker create --name redis-node3 --net host \
-v /aloneyue01/redis-cluster/redis-data/node3:/data redis:5.0.5 \
--cluster-enabled yes --cluster-config-file nodes-node-3.conf --port 6381

docker create --name redis-node4 --net host \
-v /aloneyue01/redis-cluster/redis-data/node4:/data redis:5.0.5 \
--cluster-enabled yes --cluster-config-file nodes-node-4.conf --port 6382

docker create --name redis-node5 --net host \
-v /aloneyue01/redis-cluster/redis-data/node5:/data redis:5.0.5 \
--cluster-enabled yes --cluster-config-file nodes-node-5.conf --port 6383

docker create --name redis-node6 --net host \
-v /aloneyue01/redis-cluster/redis-data/node6:/data redis:5.0.5 \
--cluster-enabled yes --cluster-config-file nodes-node-6.conf --port 6384

#启动容器
docker start redis-node1 redis-node2 redis-node3 redis-node4 redis-node5 redis-node6

1. --cluster-enabled:是否启动集群,选值:yes 、no
2. --cluster-config-file 配置文件.conf :指定节点信息,自动生成,虽然此配置的名字叫"集群配置文件",但是此配置文件不能人工编辑,它是集群节点自动维护的文件,主要用于记录集群中有哪些节点、他们的状态以及一些持久化参数等,方便在重启时恢复这些状态。通常是在收到请求之后这个文件就会被更新。
3. --cluster-node-timeout 毫秒值: 配置节点连接超时时间
4. --appendonly:是否开启持久化,选值:yes、no

在这里插入图片描述



3.组建Redis集群

#进入其中一个redis中
docker exec -it redis-node1 /bin/bash
#没反应
redis-cli --cluster create \
ip:6379 ip:6380 ip:6381 \
ip:6382 ip:6383 ip:6384 \
--cluster-replicas 1
#有反应
redis-cli --cluster create ip:6379 ip:6380 ip:6381 --cluster-replicas 0
#先将6379 6380 6381设置为主节点
redis-cli --cluster create ip:6379 ip:6380 ip:6381 --cluster-replicas 0

#将6382 6383 6384分别作为前三个主节点的从节点
redis-cli --cluster add-node ip:6382 \
ip:6379  --cluster-slave \
--cluster-master-id 76ba8b3923e7c11455d188e1026e1d9d7e7d86ba

redis-cli --cluster add-node ip:6383 \
ip:6380  --cluster-slave \
--cluster-master-id dca6382a5b0cc555972f0350263e508e95cee57a

redis-cli --cluster add-node ip:6384 \
ip:6381  --cluster-slave \
--cluster-master-id 06818711f097903ac50b4c2872c83766910dd062



4.Redis集群部署一直卡在Waiting for the cluster to join …

Redis集群部署一直卡在Waiting for the cluster to join …(Redis集群总线配置)

需要开放16379-16384范围的端口,详见上文。

在这里插入图片描述



5.查看集群信息

#随便进入一个节点容器
docker exec -it redis-node1 bash
#连接客户端
redis-cli
#查看集群信息
cluster nodes

在这里插入图片描述



6.在集群中录入值

#-c采用集群策略连接,设置数据会根绝实际插入的插槽自动切换到相应主节点上,非常的神奇好用!
redis-cli -c -p 端口号

在这里插入图片描述

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值