使用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集群还是比较容易的,当然我觉得线上环境不应该这么简单,至少把日志、配置文件都挂载到指定目录,这样配置重启都方便点
使用docker redis-cluster集群搭建的更多相关文章
- Redis Cluster集群搭建与配置
Redis Cluster是一种服务器sharding分片技术,关于Redis的集群方案应该怎么做,请参考我的另一篇博客http://www.cnblogs.com/xckk/p/6134655.ht ...
- Redis Cluster集群搭建与应用
1.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper,但从redis 3.0之后版本支持redis-cluster集群,redis-cluster采用无中心结 ...
- Redis Cluster集群搭建<原>
一.环境配置 一台window 7上安装虚拟机,虚拟机中安装的是centos系统. 二.目标 Redis集群搭建的方式有多种,根据集群逻辑的位置,大致可以分为三大类:基于客户端分片的Redis ...
- Ubuntu 16.04下Redis Cluster集群搭建(官方原始方案)
前提:先安装好Redis,参考:http://www.cnblogs.com/EasonJim/p/7599941.html 说明:Redis Cluster集群模式可以做到动态增加节点和下线节点,使 ...
- centos8平台redis cluster集群搭建(redis5.0.7)
一,规划 redis cluster 1,cluster采用六台redis,3主3从 redis1 : ip: 172.17.0.2 redis2 : ip: 172.17.0.3 red ...
- 【Redis】Redis cluster集群搭建
Redis集群基本介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施installation. Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行 ...
- Redis Cluster集群搭建后,客户端的连接研究(Spring/Jedis)(待实践)
说明:无论是否已经搭建好集群,还是使用什么样的客户端去连接,都是必须把全部IP列表集成进去,然后随机往其中一个IP写. 这样做的好处: 1.随机IP写入之后,Redis Cluster代理层会自动根据 ...
- Redis Cluster 集群搭建与扩容、缩容
说明:仍然是伪集群,所有的Redis节点,都在一个服务器上,采用不同配置文件,不同端口的形式实现 前提:已经安装好了Redis,本文的redis的版本是redis-6.2.3 Redis的下载.安装参 ...
- redis cluster 集群搭建步骤和注意事项
1.安装Ubuntu ,修改root的密码. sudo passwd (apt-get update 更新系统) 2.安装 Gcc 和G++ sudo apt-get install build- ...
- Ubuntu 16.04 下Redis Cluster集群搭建
实际操作如下: 准备工作 版本:4.0.2 下载地址:https://redis.io/download 离线版本:(链接: https://pan.baidu.com/s/1bpwDtOr 密码: ...
随机推荐
- 我尼玛,二半夜的说中photo.src病毒了。
大半夜手机预警,中病毒了,我感觉也没啥东西呀.一个破小网站,别人黑我干啥. 登上服务器去一看,我滴个乖乖,photo.src病毒.服务器里面显示是一个背景桌面应用程序, 打算直接从文件夹删除,但是正在 ...
- springmvc shiro UnauthorizedException 异常解决方案
springMVC 整合 shiro 时,配置了当访问某个URL没有权限时的配置处理: <!-- 通过unauthorizedUrl指定没有权限操作时跳转页面 --><propert ...
- Java学习笔记(十九):Object类
- 十三 re模块
一:什么是正则? 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法.或者说:正则就是用来描述一类事物的规则.(在Python中)它内嵌在Python中,并通过 r ...
- 【Unity】打包安卓APK常见问题
问题:unity error invalid command android 原因:Android版本较新,Unity版本太旧(如4.X),Unity打包APK时调用Android工具使用的命令已被安 ...
- easyui的datagrid改变单元格颜色
另一种方法:https://www.cnblogs.com/raitorei/p/10395233.html easyui的datagrid改变整行颜色:https://www.cnblogs.com ...
- react项目搭建
1.下载安装node.js,需要node.js环境. 2.经过挑选,决定选择creat-react-app这个项目脚手架,然后输入指令安装 $ npm install -g crea ...
- Swift 模型属性
1 . // 定义模型属性时,一般定义为可选的,可以简化代码,不需要写 init 方法 // 如果是基本数据类型,不能设置为可选的,而且要设置初始值 var name: String? pri ...
- HDU 3666.THE MATRIX PROBLEM 差分约束系统
THE MATRIX PROBLEM Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- 编译UNITY的MONO模块记录
起因 接收到一个UNITY文件处理的任务(c#逻辑代码存放的Assembly-CSharp.dll可热更等需求) 需要重新编译UNITY的mono模块 用于安卓环境下对DLL的定制处理 上网查阅了一些 ...