Docker容器--部署Redis集群

本文详细介绍了如何通过Docker部署Redis集群,包括创建自定义网络、配置六个节点、创建集群并验证高可用性。重点展示了节点启动、集群连接、负载均衡和故障切换的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis集群部署实战

拓扑图:

在这里插入图片描述

部署步骤:

1.准备一台干净的docker,或者清空之前所有的容器

docker rm -f $(docker ps -qa)

2.创建redis集群自定义网络。

docker network create --subnet 172.38.0.0/16 --gateway 172.38.0.1 redis

docker network ls
NETWORK ID     NAME      DRIVER    SCOPE
0a89a821a5ae   bridge    bridge    local
6a92fb7176ad   host      host      local
f1e490a31f74   mynet     bridge    local
7092207adda3   none      null      local
61b7c675593f   redis     bridge    local

3.通过脚本创建六个redis配置

[root@localhost ~]# ls /mydata/redis/
node-1  node-2  node-3  node-4  node-5  node-6

4.通过脚本启动容器

for port in $(seq 1 6); \
do \
docker run -p 637${port}:6379 -p 1637${port}:16379 --name redis-${port} \
-v /mydata/redis/node-${port}/data:/data \
-v /mydata/redis/node-${port}/conf/redis.conf:/etc/redis/redis.conf \
-d --net redis --ip 172.38.0.1${port} redis redis-server /etc/redis/redis.conf
done

通过命令查看
在这里插入图片描述
5.进入redis-1:

[root@localhost ~]# docker exec -it redis-1 /bin/bash
root@4cab74ee7258:/data# ls
appendonly.aof	nodes.conf

6.创建集群

redis-cli --cluster create 172.38.0.11:6379 172.38.0.12:6379 172.38.0.13:6379 172.38.0.14:6379 172.38.0.15:6379 172.38.0.16:6379 --cluster-replicas 1

7.连接集群

root@4cab74ee7258:/data# redis-cli -c             #连接集群

127.0.0.1:6379> cluster info             #查看集群信息
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:6
cluster_size:3                               #3个主从
cluster_current_epoch:7
cluster_my_epoch:1
cluster_stats_messages_ping_sent:6942
cluster_stats_messages_pong_sent:6986
cluster_stats_messages_fail_sent:5
cluster_stats_messages_auth-ack_sent:1
cluster_stats_messages_sent:13934
cluster_stats_messages_ping_received:6981
cluster_stats_messages_pong_received:6942
cluster_stats_messages_meet_received:5
cluster_stats_messages_fail_received:1
cluster_stats_messages_auth-req_received:1
cluster_stats_messages_received:13930


127.0.0.1:6379> cluster nodes       #查看节点
#可以看到三组三从的信息

127.0.0.1:6379> set a b              #设置一个key-v
-> Redirected to slot [15495] located at 172.38.0.13:6379
OK                       #redis-3写入

8.然后关闭redis-3测试是否能过够达到负载均衡的效果。

docker stop redis-3

9.测试高可用,获取key值

127.0.0.1:6379> get a
-> Redirected to slot [15495] located at 172.38.0.14:6379
"b" 
#此时显示redis4提供值,说明高可用配置成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值