redis集群扩容
2016-06-03 16:27
696 查看
导读:
a) 此文不介绍集群的部署
b) 扩容有两种方式,一种是纵向扩容:修改maxmemory,一种是横向扩容:增加节点。这里只介绍横向扩容
c) 此文利用redis-trib.rb进行集群扩容,不涉及扩容的原理
d) 建议仔细阅读官方文档:http://redis.io/topics/cluster-tutorial
步骤:
1.假设已经存在集群,该集群包含三个主节点(8000/8001/8002),三个从节点( 8003/8004/8005)
2. 如何查看集群信息
3.启动两个新的redis实例(8006/8007),计划将8006设置为新增的主节点
4.将新的主节点8006添加到集群里面
5.查看集群信息,发现节点已经添加,但是并没有分配slot
6.给新增的节点8006增加slave
注:需要注意f83c86fd7d3c25bde47e0461ffa709ea62eb12ef是8006的run id
再次查看,发现8007已经成为了8006的slave
7.给新增8006的node划分slot
a) 重新分配slot
b) 屏幕提示:希望移动多少个slot,这里建议取节点平均数,假设我输入4096
c) 屏幕提示:希望把slot搬到哪里,这里输入8006的run id
d) 屏幕提示:希望从哪里移动slot到8006,这里输入all,选择从所有的节点搬迁1000个slot到8006
e) 屏幕提示:输入yes确认搬迁
f) 搬迁完毕后,通过客户端查看 cluster nodes,4096个slot已经搬迁至8006新节点
问:扩容期间集群是否正常服务
答:这个测试案例中,客户端未见异常,可能是并发太低的原理,实际应用上,客户端要做好容错机制。
缩容请参考文章:redis集群删除节点
End;
a) 此文不介绍集群的部署
b) 扩容有两种方式,一种是纵向扩容:修改maxmemory,一种是横向扩容:增加节点。这里只介绍横向扩容
c) 此文利用redis-trib.rb进行集群扩容,不涉及扩容的原理
d) 建议仔细阅读官方文档:http://redis.io/topics/cluster-tutorial
步骤:
1.假设已经存在集群,该集群包含三个主节点(8000/8001/8002),三个从节点( 8003/8004/8005)
2. 如何查看集群信息
./redis-cli -c -p 8000 cluster nodes
3.启动两个新的redis实例(8006/8007),计划将8006设置为新增的主节点
4.将新的主节点8006添加到集群里面
./redis-trib.rb add-node 127.0.0.1:8006 127.0.0.1:8000
5.查看集群信息,发现节点已经添加,但是并没有分配slot
6.给新增的节点8006增加slave
注:需要注意f83c86fd7d3c25bde47e0461ffa709ea62eb12ef是8006的run id
./redis-trib.rb add-node --slave --master-id f83c86fd7d3c25bde47e0461ffa709ea62eb12ef 127.0.0.1:8006 127.0.0.1:8000
再次查看,发现8007已经成为了8006的slave
7.给新增8006的node划分slot
a) 重新分配slot
./redis-trib.rb reshard 127.0.0.1:8006
b) 屏幕提示:希望移动多少个slot,这里建议取节点平均数,假设我输入4096
c) 屏幕提示:希望把slot搬到哪里,这里输入8006的run id
d) 屏幕提示:希望从哪里移动slot到8006,这里输入all,选择从所有的节点搬迁1000个slot到8006
e) 屏幕提示:输入yes确认搬迁
f) 搬迁完毕后,通过客户端查看 cluster nodes,4096个slot已经搬迁至8006新节点
问:扩容期间集群是否正常服务
答:这个测试案例中,客户端未见异常,可能是并发太低的原理,实际应用上,客户端要做好容错机制。
缩容请参考文章:redis集群删除节点
End;
相关文章推荐
- redis安装问题小结
- RedHat 5.8 安装Oracle 11gR2_Grid集群
- mysql集群之MMM简单搭建
- 使用 Redis 和 Python 构建一个共享单车的应用程序
- Redis偶发连接失败案例实战记录
- Redis中实现查找某个值的范围
- win 7 安装redis服务【笔记】
- redis的hGetAll函数的性能问题(记Redis那坑人的HGETALL)
- Redis和Memcached的区别详解
- 分割超大Redis数据库例子
- Redis总结笔记(一):安装和常用命令
- Redis sort 排序命令详解
- 用Redis实现微博关注关系
- Redis实现信息已读未读状态提示
- redis中修改配置文件中的端口号 密码方法
- 在Ruby on Rails上使用Redis Store的方法
- Redis和Memcache的区别总结
- 在Node.js应用中使用Redis的方法简介
- Redis服务器的启动过程分析