【docker】基于docker的redis集群主从扩容配置(详细)

目录

目的

工作环境

一、配置 

1、启动一个容器

2、将主节点加入到集群

1)配置

2)查看集群

3、重新分配槽号

1)配置

 2)查看集群

4、将主节点6387分配从节点 6388

1)配置

2)检查集群


目的

从3主3从集群配置为4主4从集群

工作环境

系统版本:cetenos7

主机IP地址:192.168.10.150/24

docker版本:version 20.10.19      docker安装请访问:【kubernetes】k8s集群搭建(完整详解)_维运的博客-CSDN博客_如何搭建k8s集群

redis集群的redis版本:redis:6.0.8       

redis集群安装请访问:基于docker配置3主3从redis集群配置(详细)

redis集群收缩请访问: 

#查看容器

[root@hadoop01 ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED      STATUS         PORTS     NAMES
19bec82ec7eb   redis:6.0.8   "docker-entrypoint.s…"   9 days ago   Up 4 minutes             redis-node-6
65cd347c7dd1   redis:6.0.8   "docker-entrypoint.s…"   9 days ago   Up 4 minutes             redis-node-5
1b126a9c39b9   redis:6.0.8   "docker-entrypoint.s…"   9 days ago   Up 4 minutes             redis-node-4
b32e932f2093   redis:6.0.8   "docker-entrypoint.s…"   9 days ago   Up 4 minutes             redis-node-3
d41a6f46e0b4   redis:6.0.8   "docker-entrypoint.s…"   9 days ago   Up 4 minutes             redis-node-2
c8848665b380   redis:6.0.8   "docker-entrypoint.s…"   9 days ago   Up 4 minutes             redis-node-1

一、配置 

1、启动一个容器

[root@hadoop01 ~]# docker run -d --name redis-node-7 --net host --privileged=true -v /data/redis/share/redis-node-7:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6387
[root@hadoop01 ~]# docker run -d --name redis-node-8 --net host --privileged=true -v /data/redis/share/redis-node-8:/data redis:6.0.8 --cluster-enabled yes --appendonly yes --port 6388
[root@hadoop01 ~]# docker ps
CONTAINER ID   IMAGE         COMMAND                  CREATED              STATUS              PORTS     NAMES
24c04bf20f43   redis:6.0.8   "docker-entrypoint.s…"   24 seconds ago       Up 23 seconds                 redis-node-8
4f3e750cf219   redis:6.0.8   "docker-entrypoint.s…"   About a minute ago   Up About a minute             redis-node-7
19bec82ec7eb   redis:6.0.8   "docker-entrypoint.s…"   9 days ago           Up 24 minutes                 redis-node-6
65cd347c7dd1   redis:6.0.8   "docker-entrypoint.s…"   9 days ago           Up 24 minutes                 redis-node-5
1b126a9c39b9   redis:6.0.8   "docker-entrypoint.s…"   9 days ago           Up 24 minutes                 redis-node-4
b32e932f2093   redis:6.0.8   "docker-entrypoint.s…"   9 days ago           Up 24 minutes                 redis-node-3
d41a6f46e0b4   redis:6.0.8   "docker-entrypoint.s…"   9 days ago           Up 24 minutes                 redis-node-2
c8848665b380   redis:6.0.8   "docker-entrypoint.s…"   9 days ago           Up 24 minutes                 redis-node-1

2、将主节点加入到集群

1)配置

[root@hadoop01 ~]# docker exec -it redis-node-7 /bin/bash
root@hadoop01:/data# redis-cli --cluster add-node 192.168.10.150:6387 192.168.10.150:6381

6387作为新加入的节点,6381相当于是原集群的领路人

2)查看集群

root@hadoop01:/data# redis-cli --cluster check 192.168.10.150:6381
192.168.10.150:6381 (b4e13e9a...) -> 0 keys | 5461 slots | 1 slaves.
192.168.10.150:6382 (73e2e7a0...) -> 0 keys | 5462 slots | 1 slaves.
192.168.10.150:6383 (d524fd7d...) -> 0 keys | 5461 slots | 1 slaves.
192.168.10.150:6387 (946de8cf...) -> 0 keys | 0 slots | 0 slaves.
[OK] 0 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.10.150:6381)
M: b4e13e9a0ca02cff80d0bc20b86f770017702fb0 192.168.10.150:6381
   slots:[0-5460] (5461 slots) master
   1 additional replica(s)
M: 73e2e7a084046769cee07d509985676752ba4f48 192.168.10.150:6382
   slots:[5461-10922] (5462 slots) master
   1 additional replica(s)
S: f7dfc65dbcc61f58556e63d15ad6940629b6a3c9 192.168.10.150:6386
   slots: (0 slots) slave
   replicates b4e13e9a0ca02cff80d0bc20b86f770017702fb0
M: d524fd7d16ccc654cbfa2d338978f6ede0bdc8f4 192.168.10.150:6383
   slots:[10923-16383] (5461 slots) master
   1 additional replica(s)
S: 672e19c7d8522e436628d16c5bf0e6f199fabd31 192.168.10.150:6385
   slots: (0 slots) slave
   replicates d524fd7d16ccc654cbfa2d338978f6ede0bdc8f4
M: 946de8cf640a3dd010b72ec73f53a18be1732129 192.168.10.150:6387
   slots: (0 slots) master
S: 9d9441cccec2307c7a7ac239dd67ce5194ce0e3a 192.168.10.150:6384
   slots: (0 slots) slave
   replicates 73e2e7a084046769cee07d509985676752ba4f48
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

192.168.10.150:6387 (946de8cf...) -> 0 keys | 0 slots | 0 slaves.

可以看到并没有为6387分配哈希槽

3、重新分配槽号

1)配置

root@hadoop01:/data# redis-cli --cluster reshard 192.168.10.150:6381

1、

 这里需要填16384除以master数量,也就是16384除以4个主节点等于4096

2、

这里填6387节点的id,就是下面的946de8cf640a3dd010b72ec73f53a18be1732129

 3、

 这里选择all

4、

 2)查看集群

root@hadoop01:/data# redis-cli --cluster check 192.168.10.150:6381
192.168.10.150:6381 (b4e13e9a...) -> 0 keys | 4096 slots | 1 slaves.
192.168.10.150:6382 (73e2e7a0...) -> 0 keys | 4096 slots | 1 slaves.
192.168.10.150:6383 (d524fd7d...) -> 0 keys | 4096 slots | 1 slaves.
192.168.10.150:6387 (946de8cf...) -> 0 keys | 4096 slots | 0 slaves.
[OK] 0 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.10.150:6381)
M: b4e13e9a0ca02cff80d0bc20b86f770017702fb0 192.168.10.150:6381
   slots:[1365-5460] (4096 slots) master
   1 additional replica(s)
M: 73e2e7a084046769cee07d509985676752ba4f48 192.168.10.150:6382
   slots:[6827-10922] (4096 slots) master
   1 additional replica(s)
S: f7dfc65dbcc61f58556e63d15ad6940629b6a3c9 192.168.10.150:6386
   slots: (0 slots) slave
   replicates b4e13e9a0ca02cff80d0bc20b86f770017702fb0
M: d524fd7d16ccc654cbfa2d338978f6ede0bdc8f4 192.168.10.150:6383
   slots:[12288-16383] (4096 slots) master
   1 additional replica(s)
S: 672e19c7d8522e436628d16c5bf0e6f199fabd31 192.168.10.150:6385
   slots: (0 slots) slave
   replicates d524fd7d16ccc654cbfa2d338978f6ede0bdc8f4
M: 946de8cf640a3dd010b72ec73f53a18be1732129 192.168.10.150:6387
   slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
S: 9d9441cccec2307c7a7ac239dd67ce5194ce0e3a 192.168.10.150:6384
   slots: (0 slots) slave
   replicates 73e2e7a084046769cee07d509985676752ba4f48
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

#可以发现6387的哈希槽范围是从其他3个节点拿了一点

4、将主节点6387分配从节点 6388

1)配置

root@hadoop01:/data# redis-cli --cluster add-node 192.168.10.150:6388 192.168.10.150:6387 --cluster-slave --cluster-master-id 946de8cf640a3dd010b72ec73f53a18be1732129

#后面是6387的id,实际根据自己的情况而写

2)检查集群

root@hadoop01:/data# redis-cli --cluster check 192.168.10.150:6381
192.168.10.150:6381 (b4e13e9a...) -> 0 keys | 4096 slots | 1 slaves.
192.168.10.150:6382 (73e2e7a0...) -> 0 keys | 4096 slots | 1 slaves.
192.168.10.150:6383 (d524fd7d...) -> 0 keys | 4096 slots | 1 slaves.
192.168.10.150:6387 (946de8cf...) -> 0 keys | 4096 slots | 1 slaves.
[OK] 0 keys in 4 masters.
0.00 keys per slot on average.
>>> Performing Cluster Check (using node 192.168.10.150:6381)
M: b4e13e9a0ca02cff80d0bc20b86f770017702fb0 192.168.10.150:6381
   slots:[1365-5460] (4096 slots) master
   1 additional replica(s)
M: 73e2e7a084046769cee07d509985676752ba4f48 192.168.10.150:6382
   slots:[6827-10922] (4096 slots) master
   1 additional replica(s)
S: f7dfc65dbcc61f58556e63d15ad6940629b6a3c9 192.168.10.150:6386
   slots: (0 slots) slave
   replicates b4e13e9a0ca02cff80d0bc20b86f770017702fb0
M: d524fd7d16ccc654cbfa2d338978f6ede0bdc8f4 192.168.10.150:6383
   slots:[12288-16383] (4096 slots) master
   1 additional replica(s)
S: 713bbd602200a028d9efd890b64741284c753ef3 192.168.10.150:6388
   slots: (0 slots) slave
   replicates 946de8cf640a3dd010b72ec73f53a18be1732129
S: 672e19c7d8522e436628d16c5bf0e6f199fabd31 192.168.10.150:6385
   slots: (0 slots) slave
   replicates d524fd7d16ccc654cbfa2d338978f6ede0bdc8f4
M: 946de8cf640a3dd010b72ec73f53a18be1732129 192.168.10.150:6387
   slots:[0-1364],[5461-6826],[10923-12287] (4096 slots) master
   1 additional replica(s)
S: 9d9441cccec2307c7a7ac239dd67ce5194ce0e3a 192.168.10.150:6384
   slots: (0 slots) slave
   replicates 73e2e7a084046769cee07d509985676752ba4f48
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

完成!

redis集群收缩为3主3从请访问: 【docker】基于docker的redis集群主从收缩配置(详细)_维运的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

维运

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值