`
carlosfu
  • 浏览: 571919 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
Ba8b5055-9c58-3ab0-8a1c-e710f0495d2c
BigMemory实战与理...
浏览量:30026
53b2087e-c637-34d2-b61d-257846f73ade
RedisCluster开...
浏览量:149142
C9f66038-7478-3388-8086-d20c1f535495
缓存的使用与设计
浏览量:122714
社区版块
存档分类
最新评论

Redis-Cluster实战--7.Redis-Cluster水平扩容(ruby实现版)

阅读更多

 

转载请注明出处哈:http://carlosfu.iteye.com/blog/2240426


   

一、目的

Redis-Cluster是Redis的分布式解决方案,Redis Cluster提供了在线扩容(添加分片)功能,有效扩展存储能力和读写能力。

 

水平扩容思路如下:

1. 启动新的Redis实例。

2. 集群中的机器meet上述Redis实例,将其加入集群。

3. 由于新的实例没有指派槽,所以要将部分其他实例上面的槽迁移至新的实例。

 

 

二、具体实现:(已建立好的集群参考http://carlosfu.iteye.com/blog/2242578

 

1.  启动新的Redis实例,端口是8007

sed 's/8000/8007/g' redis-8000.conf > redis-8007.conf
redis-server /opt/soft/redis/conf/redis-8007.conf

  

2.  将8007加入集群

redis-cli -c -p 8000 cluster meet 127.0.0.1 8007

    上述两步,已经在之前文档里面详细介绍过了,这里就不在赘述了。

 

 

3. 重新分片:(redis作者提供了redis-trib.rb工具支持在线扩容功能)

redis-trib.rb reshard 127.0.0.1:8007
#根据提示选择要迁移的slot(ps:这里选择500)
How many slots do you want to move (from 1 to 16384)? 500
#选择要接受这些slot的node-id
What is the receiving node ID? f51e26b5d5ff74f85341f06f28f125b7254e61bf
#选择slot来源:
#all表示从所有的master重新分配,
#或者数据要提取slot的master节点id,最后用done结束
Please enter all the source node IDs.
Type 'all' to use all the nodes as source nodes for the hash slots.
Type 'done' once you entered all the source nodes IDs.
Source node #1:all
#打印被移动的slot后,输入yes开始移动slot以及对应的数据.
#Do you want to proceed with the proposed reshard plan (yes/no)? yes
#结束

 

 

集群状态:

127.0.0.1:8000> cluster info
cluster_state:ok
cluster_slots_assigned:16384
cluster_slots_ok:16384
cluster_slots_pfail:0
cluster_slots_fail:0
cluster_known_nodes:8
cluster_size:5
cluster_current_epoch:7
cluster_my_epoch:1
cluster_stats_messages_sent:193766
cluster_stats_messages_received:193765 

 

分享到:
评论

相关推荐

    windows一键Redis-Cluster集群工具(32位Redis-v3.0.504)原忘记配置文件了

    windows一键Redis-Cluster集群工具(32位Redis-v3.0.504),资源包括:ruby安装包,rubygem,32位Redis-v3.0.504,一键Redis-Cluster集群工具等,64位请自行替换相关资源包即可,相关文章见:...

    redis5离线安装文件包,包含redis-5.0.14.tar.gz和redis-4.6.0.gem

    sudo yum -y install gcc gcc-c++ tcl zlib zlib-devel ruby ruby-devel rubygems rpm-build # 下载 redis-3.2.1.gem然后本地安装 sudo gem install -l ./redis-3.2.1.gem port 6379 daemonize yes #bind自己的ip ...

    redis-cluster redis伪集群文件

    搭建redis集群文件,内含六个redis,文件配置已经全部修改好了,1、先在服务器安装下yum install ruby 和 yum install rubygems 2、然后解压文件上传到linux服务器 3、./redis-cluster-start-all.sh 开启reids 4、...

    windows一键Redis-Cluster集群工具(32位Redis-v3.0.504)

    windows一键Redis-Cluster集群工具(32位Redis-v3.0.504),资源包括:ruby安装包,rubygem,32位Redis-v3.0.504,一键Redis-Cluster集群工具等,64位请自行替换相关资源包即可,相关文章见:

    redis-trib.rb是官方提供的Redis Cluster的管理工具

    redis-trib.rb是官方提供的Redis Cluster的管理工具,无需额外下载,默认位于源码包的src目录下,但因该工具是用ruby开发的,所以需要准备相关的依赖环境。

    redis-cluster.rar

    Redis ruby集群工具,包括Redis x32 ruby redis-trib.rb rubygems-3.0.6.zip Redis ruby集群工具,包括Redis x32 ruby redis-trib.rb rubygems-3.0.6.zip Redis ruby集群工具,包括Redis x32 ruby redis-trib.rb ...

    redis-3.0.0.tar和redis-3.0.0.gem.rar

    Redis在CentOS系统中创建集群可能会用到的安装包, 其中redis-3.0.0.tar是Redis服务, redis-3.0.0.gem是Redis通过ruby创建集群要用到的包

    完整搭建redis-cluster

    完整搭建redis-cluster,全过程配合网页一起使用,效果更佳

    Redis-Cluster实战--3.安装准备-Ruby安装(含视频)

    NULL 博文链接:https://carlosfu.iteye.com/blog/2242578

    CentOS7.x 离线安装redis-cluster所需包

    改压缩包中含了centos7.x离线安装redis-cluster的所有相关文件,包括ruby-2.4.1.tar.gz,rubygems-2.7.6.tgz,zlib-1.2.11.tar.gz,redis-4.0.2.gem,tcl8.6.8-src.tar.gz

    windows一键Redis-Cluster集群工具(支持Redis3.0.504,Redis3.2.100的x86,x64版本)

    windows一键Redis-Cluster集群工具(32位和64位Redis-v3.0.504,以及64位Redis-v3.2.100),资源包括:ruby安装包,rubygem,32位Redis-v3.0.504,64位Redis-v3.0.504,64位Redis-v3.2.100,一键Redis-Cluster集群...

    redis-windows-cluster搭建指南

    redis-windows-cluster搭建指南,包括Redis、Ruby语言运行环境、Redis的Ruby驱动redis-xxxx.gem和创建Redis集群的工具redis-trib.rb等所需软件,以及搭建指导文档

    redis-trib.rb

    redis-trib.rb是官方推出的管理redis集群的工具,集成在redis的源码src目录下

    redis-5.0.0.zip

    4. The cluster manager was ported from Ruby (redis-trib.rb) to C code inside redis-cli. Check `redis-cli --cluster help` for more info. 5. New sorted set commands: ZPOPMIN/MAX and blocking variants. ...

    redis集群脚本redis-trib

    redis-trib.rb 是采用 Ruby 实现的 Redis 集群管理工具。内部通过 Cluster 相关命令帮我们简化集群创建、检查、槽迁移和均衡等常见运维操作,使用之前需要安装 Ruby 依赖环境。

    redis-trib.rb 只收两分

    edis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis作者用ruby完成的

    windows环境下redis集群的搭建

    02、创建6个目录Redis7001、Redis7002、Redis7003、Redis7004、Redis7005、Redis7006 03、把Redis目录下的redis.windows.conf文件分别复制到上创建创建的6个文件夹中 04、修改6个文件夹中的redis.windows.conf文件 ...

    redis-3.2.1.gem

    安装Redis集群所需的ruby包 redis cluster必备 redis-3.2.1.gem文件,网上的很多都失效了,专门用于redis3.2.1版本的

    Redis-Essentials.pdf

    Redis is the most popular in-memory key-value data store. It is very lightweight and its data types give it an edge over other competitors. If you need an in-memory database or a high-performance ...

    redis集群部署所需依赖包

    redis集群部署所需的依赖包 redis-4.0.1.gem ...ruby-2.5.1.tar.gz rubygems-2.6.12.zip redis-2.10.6-py2.py3-none-any.whl redis-3.0.1-py2.py3-none-any.whl redis-py-cluster-1.3.5.tar.gz

Global site tag (gtag.js) - Google Analytics