在Docker中搭建Redis集群总结

1、wget http://download.redis.io/redis-stable/redis.conf -O /home/zhangrenjie/redis/redis.conf

2、配置redis.conf

bind 0.0.0.0

requirepass 123456789

masterauth 123456789

开启集群配置

cluster-enabled yes

cluster-config-file nodes-6379.conf

cluster-node-timeout 15000

 

3、docker启动:

6个节点

sudo docker run -d --privileged=true -p 6000:6379 -v /home/zhangrenjie/redis/:/etc/redis/ --name redis-node-0 --restart=always redis:latest redis-server /etc/redis/redis.conf

sudo docker run -d --privileged=true -p 6001:6379 -v /home/zhangrenjie/redis/:/etc/redis/ --name redis-node-1 --restart=always redis:latest redis-server /etc/redis/redis.conf

sudo docker run -d --privileged=true -p 6002:6379 -v /home/zhangrenjie/redis/:/etc/redis/ --name redis-node-2 --restart=always redis:latest redis-server /etc/redis/redis.conf

sudo docker run -d --privileged=true -p 6003:6379 -v /home/zhangrenjie/redis/:/etc/redis/ --name redis-node-3 --restart=always redis:latest redis-server /etc/redis/redis.conf

sudo docker run -d --privileged=true -p 6004:6379 -v /home/zhangrenjie/redis/:/etc/redis/ --name redis-node-4 --restart=always redis:latest redis-server /etc/redis/redis.conf

sudo docker run -d --privileged=true -p 6005:6379 -v /home/zhangrenjie/redis/:/etc/redis/ --name redis-node-5 --restart=always redis:latest redis-server /etc/redis/redis.conf

sudo docker ps

sudo docker inspect ... | grep IPAddress(查看容器ip)

4、进入docker:

redis-cli

CLUSTER MEET 172.17.0.4 6379

CLUSTER MEET 172.17.0.5 6379

CLUSTER MEET 172.17.0.6 6379

CLUSTER MEET 172.17.0.7 6379

CLUSTER MEET 172.17.0.8 6379

CLUSTER MEET 172.17.0.9 6379

CLUSTER NODES

5、宿主安装redis-cli,写脚本addslots.sh:

#!/bin/bash

#将0-5461的槽点配置在172.17.0.4:6379(宿主机127.0.0.1:6000)的redis上

n=0

for ((i=n;i<=5461;i++))

do

redis-cli -h 127.0.0.1 -p 6000 -a 12345678 CLUSTER ADDSLOTS $i

done

 

#将5462-10922的槽点配置在172.17.0.5:6379(宿主机127.0.0.1:6001)的redis上

n=5462

for ((i=n;i<=10922;i++))

do

redis-cli -h 127.0.0.1 -p 6001 -a 12345678 CLUSTER ADDSLOTS $i

done

 

#将10923-16383的槽点配置在172.17.0.6:6379(宿主机127.0.0.1:6002)的redis上

n=10923

for ((i=n;i<=16383;i++))

do

redis-cli -h 127.0.0.1 -p 6002 -a 12345678 CLUSTER ADDSLOTS $i

done

 

运行脚本后,使用cluster info查看集群状态

6、宿主,运行脚本addSlaveNodes.sh

#CLUSTER REPLICATE后面跟的是172.17.0.2:6379的集群ID

redis-cli -h 127.0.0.1 -p 6004 -a 12345678 CLUSTER REPLICATE 1e75fd2235dcbd5f5c68bfaa6f609ab9d0a084b2

#CLUSTER REPLICATE后面跟的是172.17.0.3:6379的集群ID

redis-cli -h 127.0.0.1 -p 6005 -a 12345678 CLUSTER REPLICATE e82e048b0892d3be931d24e066553020b791659c

#CLUSTER REPLICATE后面跟的是172.17.0.4:6379的集群ID

redis-cli -h 127.0.0.1 -p 6003 -a 12345678 CLUSTER REPLICATE bc94da253be868100b4c40328c36f13d8aa0eee0

7、进入docker:

cluster nodes

显示正确结果

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值