docker模拟 redis集群遇到的坑

1. 先构建6个节点服务
主节点从节点
192.168.202.6:6380192.168.202.6:6381

192.168.202.7:6380

192.168.202.7:6381
192.168.202.8:6380192.168.202.8:6381

构建主机容器卷(config:存放redis.conf、data:存放aof存储文件)


redis.conf的内容如下:(每台主机都要配置)

port 6380
protected-mode no
daemonize no
requirepass 123456
appendonly yes
cluster-enabled yes
cluster-config-file nodes_6380.conf
cluster-node-timeout 20000

# 配置说明:
# port # 节点端口
# protected-mode # 保护模式,默认值 yes,即开启
# daemonize # 是否以守护线程的方式启动(后台启动),默认 no;
# appendonly # 是否开启 AOF 持久化模式,默认 no;
# cluster-enabled # 是否开启集群模式,默认 no
# cluster-config-file # 集群节点信息文件
# cluster-node-timeout # 集群节点连接超时时间(ms)

2.docker运行redis容器 (这里以其中一台服务器为例)
docker run -d -p 6380:6380 -v /tmp/docker_redis_cluster/6380/config/redis.conf:/etc/redis/redis.conf -v /tmp/docker_redis_cluster/6380/data:/data --privileged=true --name=clu_master_6380 redis:6.0.8 /etc/redis/redis.conf
docker run -d -p 6381:6381 -v /tmp/docker_redis_cluster/6381/config/redis.conf:/etc/redis/redis.conf -v /tmp/docker_redis_cluster/6381/data:/data --privileged=true --name=clu_slave_6381 redis:6.0.8 /etc/redis/redis.conf

3.6个节点运行后,用redis-cli客户端连接,并执行集群创建
redis-cli --cluster create --cluster-replicas 1 192.168.202.6:6380 192.168.202.6:6381 192.168.202.7:6380 192.168.202.7:6381 192.168.202.8:6380 192.168.202.8:6381 --cluster-yes -a 123456

其中-- cluster-yes表示窗口批量处理,方便执行-a 123456


 4.执行发现下面的情况 

分析:redis-cli客户端 随意连接一台 执行cluster nodes,未显示其他节点信息,发现有个"10000+原端口"的信息,发现这个是集群总线(原文出处:搭建Redis集群遇到的问题:Waiting for the cluster to join~~~_gblfy的博客-CSDN博客) 

5. 解决方案:docker环境模拟redis集群,还需要开放集群总线端口

停止原redis镜像,创建新镜像:

docker run -d -p 6380:6380 -p 16380:16380 --volumes-from 4d471e8806f3 --privileged=true --name=Cluster_Master_6380 redis:6.0.8 redis-server /etc/redis/redis.conf
docker run -d -p 6381:6381 -p 16381:16381 --volumes-from 962334ad44ef --privileged=true --name=Cluster_Slave_6381 redis:6.0.8 redis-server /etc/redis/redis.conf

--volumes-from :引用 已停止docker容器 的容器卷配置


6.验证集群

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值