使用docker redis-cluster集群搭建
参考https://www.cnblogs.com/cxbhakim/p/9151720.html此文
主要搭建过程参考上文,此处讲下主要过程和遇到的坑
- 首先是镜像的基础搭建,我不知道是否是作者编写时和我现在的版本不同了,第一个坑点Dockerfile中FROM Centos:7
,这
去掉算是博文复制时的bug吧,还有Centos现在不支持大写,需要改成centos - Dockerfile中的注释部分,编码可能有问题,需要正常运行最好把所有注释都删了
- 构建docker build -t hakimdstx/cluster-redis . 该镜像的时候,根据后文明显这里需要改成docker build -t hakimdstx/cluster-redis:4.0.1 . 不知道为什么会漏了,后文需要用到Tag版本,否则后面的脚本别加版本号
- 集群镜像建完,后又建了个节点镜像。。在我理解其实这两个可以合并成一个的,不知有何高见
- 之后用节点镜像启动多个redis节点,之后就是用redis远程命令查看节点信息啥的,这里我稍微蒙了会,因为作者没讲从哪里执行命令。。我考虑了下可以有至少两种方法,1. 使用下载包中src内有个redis-cli,我的地址/root/docker_redis_cluster/redis-4.0.1/src/redis-cli,可以用这个客户端调用命令 2. 我本地使用的window,用redis DeskTop Manager来远程连接redis,执行命令
- 然后使用Redis Cluster 的集群感知操作,CLUSTER MEET
将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。 - 这样还不够,还要分配槽slot,他使用脚本,这里注意了,如果你是在服务器上部署,最好ifconfig查看下服务器内网地址,用内网地址替换他的脚本地址,还有密码,我设的密码就有)这种符号,需要把整个密码单引号包起来,否则也会报错
- 然后是从节点添加,cluster nodes查看所有主节点并记下id,对应脚本替换3个主节点id,运行脚本
- 故障转义,若自动转义失败,需要手工转义 ,登录从机CLUSTER FAILOVER force。这里模拟主节点6379挂了
发现故障自动转移,从节点自动升级为主节点,重启后原主节点自动降为从节点
- 然后再看看搭建完的redis集群占用空间情况
可以看到,在没存入数据前,几乎不占用多少内存,所以测试搭建在一台1核1G的服务也是没什么压力的 - 日志存放点
总结
- docker搭建redis集群还是比较容易的,当然我觉得线上环境不应该这么简单,至少把日志、配置文件都挂载到指定目录,这样配置重启都方便点
如果,您希望更容易地发现我的新博客,不妨点击一下【关注我】。
我的写作热情也离不开您的肯定支持,感谢您的阅读,我是【老梁】!