返回顶部

使用docker redis-cluster集群搭建

参考https://www.cnblogs.com/cxbhakim/p/9151720.html此文

主要搭建过程参考上文,此处讲下主要过程和遇到的坑

  1. 首先是镜像的基础搭建,我不知道是否是作者编写时和我现在的版本不同了,第一个坑点Dockerfile中FROM Centos:7
    ,这
    去掉算是博文复制时的bug吧,还有Centos现在不支持大写,需要改成centos
  2. Dockerfile中的注释部分,编码可能有问题,需要正常运行最好把所有注释都删了
  3. 构建docker build -t hakimdstx/cluster-redis . 该镜像的时候,根据后文明显这里需要改成docker build -t hakimdstx/cluster-redis:4.0.1 . 不知道为什么会漏了,后文需要用到Tag版本,否则后面的脚本别加版本号
  4. 集群镜像建完,后又建了个节点镜像。。在我理解其实这两个可以合并成一个的,不知有何高见
  5. 之后用节点镜像启动多个redis节点,之后就是用redis远程命令查看节点信息啥的,这里我稍微蒙了会,因为作者没讲从哪里执行命令。。我考虑了下可以有至少两种方法,1. 使用下载包中src内有个redis-cli,我的地址/root/docker_redis_cluster/redis-4.0.1/src/redis-cli,可以用这个客户端调用命令 2. 我本地使用的window,用redis DeskTop Manager来远程连接redis,执行命令
  6. 然后使用Redis Cluster 的集群感知操作,CLUSTER MEET 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
  7. 这样还不够,还要分配槽slot,他使用脚本,这里注意了,如果你是在服务器上部署,最好ifconfig查看下服务器内网地址,用内网地址替换他的脚本地址,还有密码,我设的密码就有)这种符号,需要把整个密码单引号包起来,否则也会报错
  8. 然后是从节点添加,cluster nodes查看所有主节点并记下id,对应脚本替换3个主节点id,运行脚本
  9. 故障转义,若自动转义失败,需要手工转义 ,登录从机CLUSTER FAILOVER force。这里模拟主节点6379挂了

    发现故障自动转移,从节点自动升级为主节点,重启后原主节点自动降为从节点
  10. 然后再看看搭建完的redis集群占用空间情况

    可以看到,在没存入数据前,几乎不占用多少内存,所以测试搭建在一台1核1G的服务也是没什么压力的
  11. 日志存放点

总结

  • docker搭建redis集群还是比较容易的,当然我觉得线上环境不应该这么简单,至少把日志、配置文件都挂载到指定目录,这样配置重启都方便点
posted @ 2018-10-18 15:10  老梁讲Java  阅读(905)  评论(0编辑  收藏  举报