redis集群同步迁移方法(一):通过redis replication实现
- 采用redis replication实现
- 使用开源同步开源工具
- 启动三个目标节点,配置了redis集群模式的实例
redis-server redis13000.conf
redis-server redis13001.conf
redis-server redis13002.conf
- 将这三个节点做已有集群实例的slave
redis-cli -p cluster meet 127.0.0.1
redis-cli -p cluster replicate e5ce695f7c5745ca81b4239fb5666b6a71fbb4ea
redis-cli -p cluster meet 127.0.0.1
redis-cli -p cluster replicate f63f0d52372ad8b5c414c47e9318717b6aa113cc
redis-cli -p cluster meet 127.0.0.1
redis-cli -p cluster replicate fdeb68f696290a91f08a5da3b8a3c585aaa35856
- 查看集群情况:
redis-cli -p cluster slots
) ) (integer)
) (integer)
) ) "127.0.0.1"
) (integer)
) ) "127.0.0.1"
) (integer)
) ) (integer)
) (integer)
) ) "127.0.0.1"
) (integer)
) ) "127.0.0.1"
) (integer)
) ) (integer)
) (integer)
) ) "127.0.0.1"
) (integer)
) ) "127.0.0.1"
) (integer)
- 将其中一个主节点下线,10s后观察情况:
redis-cli -p shutdown
redis-cli -p cluster nodes
fdeb68f696290a91f08a5da3b8a3c585aaa35856 127.0.0.1: master - connected -
f63f0d52372ad8b5c414c47e9318717b6aa113cc 127.0.0.1: master - connected -
e39a73c30dfff3139242e66f8e0a41178b39e280 127.0.0.1: myself,master - connected -
1f552bdea453caeaa64b4b33a05e4eedeb3f3dd2 127.0.0.1: slave f63f0d52372ad8b5c414c47e9318717b6aa113cc connected
6a70a82c6f07dc4e61a97b6aee7a2994365642cc 127.0.0.1: slave fdeb68f696290a91f08a5da3b8a3c585aaa35856 connected
e5ce695f7c5745ca81b4239fb5666b6a71fbb4ea 127.0.0.1: master,fail - disconnected
- 删除已经下线的主节点,一个一个操作,操作中间检查操作是否成功,因为留言协议和failover需要一段时间
redis-cli -p cluster forget e5ce695f7c5745ca81b4239fb5666b6a71fbb4ea
redis-cli -p cluster forget e5ce695f7c5745ca81b4239fb5666b6a71fbb4ea
redis-cli -p cluster forget e5ce695f7c5745ca81b4239fb5666b6a71fbb4ea
redis-cli -p cluster nodes
fdeb68f696290a91f08a5da3b8a3c585aaa35856 127.0.0.1: master - connected -
f63f0d52372ad8b5c414c47e9318717b6aa113cc 127.0.0.1: master - connected -
e39a73c30dfff3139242e66f8e0a41178b39e280 127.0.0.1: myself,master - connected -
1f552bdea453caeaa64b4b33a05e4eedeb3f3dd2 127.0.0.1: slave f63f0d52372ad8b5c414c47e9318717b6aa113cc connected
6a70a82c6f07dc4e61a97b6aee7a2994365642cc 127.0.0.1: slave fdeb68f696290a91f08a5da3b8a3c585aaa35856 connected redis-cli -p cluster nodes
e39a73c30dfff3139242e66f8e0a41178b39e280 127.0.0.1: myself,master - connected -
1f552bdea453caeaa64b4b33a05e4eedeb3f3dd2 127.0.0.1: slave - connected
6a70a82c6f07dc4e61a97b6aee7a2994365642cc 127.0.0.1: slave - connected
- 删除的主节点,如果重新启动,他自身会重新加载集群配置文件,造成集群混乱,建议如果想重启该实例,删掉集群配置文件,进行重新配置。
- 必须先关闭master节点后,再删除。一次不能将所有实例都关闭,逐个操作,否则会造成整个集群down掉
- 删除forget节点时,要在所有其他节点上执行cluster forget 命令,貌似这个命令不会通过留言协议传播到所有节点
redis集群同步迁移方法(一):通过redis replication实现的更多相关文章
- redis集群同步迁移方法(二):通过redis-migrate-tool实现
前篇介绍的redis replication方法,操作步骤多,而且容易出错.在git上看到一些开源工具也能实现同步迁移功能,而且步骤简单,比如redis-port,redis-migrate-tool ...
- Spring集成Redis集群(含spring集成redis代码)
代码地址如下:http://www.demodashi.com/demo/11458.html 一.准备工作 安装 Redis 集群 安装参考: http://blog.csdn.net/zk6738 ...
- Redis集群迁移
1:开发中断程序,登录各个主节点查看key信息 INFO # Keyspace db0:keys,expires,avg_ttl # Keyspace db0:keys,expires,avg_ttl ...
- Redis集群同步问题
之前被面试官问到:Redis集群中主从数据同步是从库异步读取主库,那么Redis集群其他主与主之间的数据是怎么共享的呢?或者说是怎么同步的? emmmm……当时我就懵逼了,这不是考试范围啊卧槽~只能老 ...
- springBoot2.*使用redis集群/单机方法
在springboot1.x系列中,其中使用的是jedis,但是到了springboot2.x其中使用的是Lettuce. 此处springboot2.x,所以使用的是Lettuce.关于jedis跟 ...
- Redis集群(二):Redis的安装
官方网站:http://redis.io/ 本系列撒使用的版本是:3.0.0 一.安装必要包 yum -yinstall gcc 二.linux下安装及使用(wget下载到当前目录) redis-3. ...
- <正则吃饺子> :关于redis集群的搭建、集群测试、搭建中遇到的问题总结
项目中使用了redis ,对于其基本的使用,相对简单些,根据项目中已经提供的工具就可以实现基本的功能,但是只是这样的话,对于redis还是太肤浅,甚至刚开始时候,集群.多节点.主从是什么,他们之间是什 ...
- Redis集群搭建的三种方式
一.Redis主从 1.1 Redis主从原理 和MySQL需要主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生性能瓶颈,特别是在读压力上,为了分担压力,Redis支持主从复制. ...
- redis集群数据迁移
redis集群数据备份迁移方案 n 迁移环境描述及分析 当前我们面临的数据迁移环境是:集群->集群. 源集群: 源集群为6节点,3主3备 主 备 192.168.112.33:8001 192 ...
随机推荐
- 使用dispatch_semaphore_t实现event的基本功能
在Windows平台下, 对线程的同步控制,可以有Critical Section,Mutex,Semaphore,Event 等方式. 在IOS平台,使用GCD进行简单的多线程编程时,可以使用dis ...
- OpenGL观察轴
旋转矩阵可以通过观察向量构造,观察向量可以是3D空间的两个或三个点.如果一个处于P1点的对象面向P2点,则观察向量就是P2-P1,如下图: 首先,前轴向量通过归一化的观察向量简单计算而来. 其次,左轴 ...
- 观察者(Observer)模式又名发布-订阅(Publish/Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己. 抽象主题(Subject):它把所有观察者对 ...
- Bash命令积累
复制本目录下除掉所有的.png文件外的所有其他文件到某个目录下: mv -f !(*.png) ./src/ 除掉所有的.png文件外其余的文件,全部删掉 rm -f !(*.png) 本目录下,不显 ...
- 039. asp.netWeb用户控件之七实现具有虚拟键盘的功能的用户控件
用户控件ascx代码: <%@ Control Language="C#" AutoEventWireup="true" CodeFile="K ...
- photoshop,黑白转彩色单色
方法一: 打开 色相/饱和度 面板,勾选上 着色, 然后调节 明度 滑块. 方法二: 前面方法的缺点是会将修改直接塌陷到图层,如果想不塌陷,可以使用色相蒙板: 同样勾选 着色
- LeetCode---Stack && Heap
402. Remove K Digits 思路:一次判断字符若比栈顶字符大则入栈,若小则pop,同时k--,直到k为0,注意最终k没有减为0或者中途栈为空或者最终结果前面带0的情况 public St ...
- linux shell:nginx日志切割脚本
需求原因:nginx不具备日志切割功能,日志量较大,方便分析. 实现目的:完成nginx日志切割,并根据时间命名 简要命令: mv /usr/local/tengine/logs/access.l ...
- vue.js 1中父组件跳到子组件中并传参让子组件显示不同的内容
父组件中的点击跳转: <ul class="insurance-entry clearfloat"> <li v-link="{name:'produc ...
- 如何使用Math对象快速计算数组中的最大值或最小值
Math 对象下包含 min() 和 max() 方法 用于确定一组数值中的最大值和最小值.这两个方法都可以接收任意多个数值参数. var max = Math.max(1,2,3,4,5,6); c ...