redis 动态添加移除节点

转载 2015年11月19日 12:18:06

Redis集群添加节点

1:首先把需要添加的节点启动

cd /usr/local/cluster/

mkdir 7006

cp /usr/local/cluster/redis.conf  /usr/local/cluster/7006/

cd /usr/local/cluster/7006/

vi redis.conf

##修改redis.conf中的port参数的值为7006

redis-server redis.conf

2:执行以下命令,将这个新节点添加到集群中


cd /usr/local/redis3.0/src/

./redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000

注意这个地方添加节点的时候后面是两个节点,前面是新节点,后面是已经存在的节点

new_host:new_port existing_host:existing_port

 

3:执行命令redis-cli -c -p 7000 cluster nodes,查看刚才新增的节点

 

4:增加了新的节点之后,这个新的节点可以成为主节点或者是从节点

4.1 把这个节点变成主节点,使用redis-trib程序,将集群中的某些哈希槽移动到新节点里面, 这个新节点就成为真正的主节点了。

执行下面的命令对集群中的哈希槽进行移动

cd /usr/local/redis3.0/src

./redis-trib.rb reshard 127.0.0.1:7000

系统会提示我们要移动多少哈希槽,这里移动1000

 

然后还需要指定把这些哈希槽转移到哪个节点上,

 

输入我们刚才新增的节点的ID

f32dc088c881a6b930474fc5b52832ba2ff71899

然后需要我们指定转移哪几个几点的哈希槽

 

输入all 表示从所有的主节点中随机转移,凑够1000个哈希槽

然后再输入yesredis集群就开始分配哈希槽了。

至此,一个新的主节点就添加完成了,执行命令查看现在的集群中节点的状态

redis-cli -c -p 7000 cluster nodes

 

 

4.2:把这个节点变成从节点

前面我们已经把这个新节点添加到集群中了,现在我们要让新节点成为127.0.0.1:7001的从节点,只需要执行下面的命令就可以了,命令后面的节点ID就是127.0.0.1:7001的节点ID

redis-cli -c -p 7006 cluster replicate 0b00721a509444db793d28448d8f02168b94bd38

使用下面命令来确认一下127.0.0.1:7006是否已经成为127.0.0.1:7001的从节点

 redis-cli -p 7000 cluster nodes | grep slave | grep 0b00721a509444db793d28448d8f02168b94bd38

看到下面图片中的情况就表示添加成功

 

 

 

 

Redis集群删除节点

1:如果删除的节点是主节点,这里我们删除127.0.0.1:7006节点,这个节点有1000个哈希槽

首先要把节点中的哈希槽转移到其他节点中,执行下面的命令

cd /usr/local/redis3.0/src

./redis-trib.rb reshard 127.0.0.1:7000

系统会提示我们要移动多少哈希槽,这里移动1000个,因为127.0.0.1:7006节点有1000个哈希槽

然后系统提示我们输入要接收这些哈希槽的节点的ID,这里使用127.0.0.1:7001的节点ID

然后要我们选择从那些节点中转出哈希槽,这里一定要输入127.0.0.1:7006这个节点的ID,最后输入 done  表示输入完毕

最后一步,使用下面的命令把这个节点删除

cd /usr/local/redis3.0/src/

./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006

2:如果节点是从节点的,直接使用下面的命令删除即可。

cd /usr/local/redis3.0/src/

./redis-trib.rb del-node 127.0.0.1:7006 127.0.0.1:7006

Redis集群的配置文件和代码

Redis集群的配置 java代码 public class RedisService { // 登录校验信息的key public static final String DPM_LOGIN...

分布式缓存技术redis学习系列(七)—— spring 整合redis如何操作redis集群

Redis 3.X版本引入了集群的新特性,为了保证所开发系统的高可用性项目组决定引用Redis的集群特性。目前spring-data-redis已发布的主干版本都不能很好的支持Redis Cluste...
  • pfnie
  • pfnie
  • 2016年08月27日 13:28
  • 499

DOM操作——怎样添加、移除、移动、复制、创建和查找节点

(1)创建新节点       createDocumentFragment()    //创建一个DOM片段       createElement()   //创建一个具体的元素 ...

一.mongodb分片之win7环境下模拟多节点添加与移除分片

本文主要介绍在一台win7电脑上模拟mongo分片。如果有多台服务器,可以将每个mongo部署在单台电脑上。我们将配置3个mongo分片,3个配置服务器,1个路由服务器。如下图所示进行配置,介绍如何增...

javascript节点的操作 创建、添加、移除、移动、复制

【转载】http://www.cnblogs.com/asqq/archive/2012/09/27/3194948.html 致谢楼主 lines (1)创建新节点createDocumentF...

转载 javascript节点的操作 创建、添加、移除、移动、复制

(1)创建新节点createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点...
  • wx11055
  • wx11055
  • 2016年01月07日 23:18
  • 205

Cocos2d-x CCNode的节点操作——添加、移除和渲染

CCNode是Cocos2d-x的一个非常重要的概念,所有可以被渲染或者包含可渲染的都是一个CCNode。最主要的CCNode有:CCScene,CCLayer,CCSprite,CCMenu。关于C...

DOM操作 如何添加、移除、移动、复制、创建和查找节点等

DOM操作--- 如何添加、移除、移动、复制、创建和查找节点等 (1)创建新节点       createDocumentFragment()    //创建一个DOM片段   ...

DOM--如何添加、移除、移动、复制、创建和查找节点等。

创建新节点:createDocumentFragment() //创建一个DOM片段createElement() //创建一个具体的元素createTextNode() //创建一个文...

DOM操作——怎样添加、移除、移动、复制、创建和查找节点

(1)创建新节点       createDocumentFragment()    //创建一个DOM片段       createElement_x_x()   //创建一个具体的元素...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:redis 动态添加移除节点
举报原因:
原因补充:

(最多只允许输入30个字)