一、规划
1.1 主机规划
由于服务器有限,仅用一台虚拟机做实验。本次部署的redis版本为 6.2.6,不同的版本号请注意参数的变化。
Host | 服务 | 备注 |
---|---|---|
192.168.56.120(2C/4G/50G) | redis cluster | 基于 Docker 部署 redis cluster |
1.2 端口规划
端口类型 | 端口列表 | 用途 |
---|---|---|
客户端端口 | 7001、7002、7003、7004、7005、7006 | 提供给 client 连接使用 |
集群通信端口 | 17001、17002、17003、17004、17005、17006 | redis cluster 集群通信 |
防火墙需要确保打开以上两个类型的端口,否则集群节点之间不能通信。
二、部署
2.1 部署 redis 服务
直接执行我写好的脚本即可,如需部署脚本可私信我。下图为脚本执行结果:
./redis_cluster.sh
# 注意端口不要与 Host 冲突,否则容器无法运行,执行脚本前注意修改脚本相关配置。
查看容器是否正常运行:
2.2 创建 redis cluster 集群
任意节点进入容器内部,并启用集群:
docker exec -it redis_7001 bash
创建一个 三主三从的 cluster 集群:
注意要在容器内部执行
redis-cli -a <yourpasswd> --cluster create \
192.168.56.120:7001 \
192.168.56.120:7002 \
192.168.56.120:7003 \
192.168.56.120:7004 \
192.168.56.120:7005 \
192.168.56.120:7006 --cluster-replicas 1
执行后,选择 yes
完成后会输出一下内容:M 表示主接点,S 代表从节点。
至此,redis cluster 部署完毕!