本地连接服务器搭建的 Redis 集群
在实际运行测试中,存在两个问题
- 安全组或防火墙开放端口 主要开放+10000端口。
- 如果要连接 Redis集群的应用服务不和 Redis集群在一个局域网下,会出现连接异常。
第一个问题检查防火墙或安全组就可以解决,第二个问题需要在每个 redis 启动时通过命令设置 cluster-announce-ip 属性(当然也可以使用 redis.conf)的方式进行,本文不再叙述。
正文
直接在服务器安装好 Docker,然后执行以下命令。
注意:更换服务器的外网IP,或者是内网IP但要保证应用服务可以访问到。
docker run -d --name redis-node-1 --net host --privileged=true -v /docker/redis/share/redis-node-1:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6381 --cluster-announce-ip=外网IP
docker run -d --name redis-node-2 --net host --privileged=true -v /docker/redis/share/redis-node-2:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6382 --cluster-announce-ip=外网IP
docker run -d --name redis-node-3 --net host --privileged=true -v /docker/redis/share/redis-node-3:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6383 --cluster-announce-ip=外网IP
docker run -d --name redis-node-4 --net host --privileged=true -v /docker/redis/share/redis-node-4:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6384 --cluster-announce-ip=外网IP
docker run -d --name redis-node-5 --net host --privileged=true -v /docker/redis/share/redis-node-5:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6385 --cluster-announce-ip=外网IP
docker run -d --name redis-node-6 --net host --privileged=true -v /docker/redis/share/redis-node-6:/data redis:6.2.6 --cluster-enabled yes --appendonly yes --port 6386 --cluster-announce-ip=外网IP
创建集群,配置一个从节点,即三主三从。
注意:更换服务器的外网IP,或者是内网IP但要保证应用服务可以访问到。
docker exec -it redis-node-1 /bin/bash
redis-cli --cluster create 外网IP:6381 外网IP:6382 外网IP:6383 外网IP:6384 外网IP:6385 外网IP:6386 --cluster-replicas 1
到这时候就全部完成了,本地服务可以连接集群进行测试了!
本文参考文章:
Docker搭建redis集群 https://blog.csdn.net/weixin_45974277/article/details/125376644
后记
官方支持,故障转移,性能提高,水平扩展。参考本文,相信你可以对这套实践有更快的理解,欢迎点赞收藏!