首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用docker redis-cluster集群搭建

使用docker redis-cluster集群搭建

作者头像
老梁
发布2019-09-10 16:55:07
7610
发布2019-09-10 16:55:07
举报

参考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,运行脚本
  1. 故障转义,若自动转义失败,需要手工转义 ,登录从机CLUSTER FAILOVER force。这里模拟主节点6379挂了

发现故障自动转移,从节点自动升级为主节点,重启后原主节点自动降为从节点

  1. 然后再看看搭建完的redis集群占用空间情况

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

  1. 日志存放点

总结

  • docker搭建redis集群还是比较容易的,当然我觉得线上环境不应该这么简单,至少把日志、配置文件都挂载到指定目录,这样配置重启都方便点
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-10-18 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 主要搭建过程参考上文,此处讲下主要过程和遇到的坑
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档