Redis动态增加节点

Redis动态增加节点

1.启动redis集群


2.准备好待加入集群的redis实例

2.1创建两个目录用来存放新的redis实例(7008,7009)

   

   使用命令   mkdir 7008 7009

   

2.2 拷贝redis.conf70087009

 

2.3修改两个redis.conf

     修改项:

            

(1)bind 127.0.0.1    mini34     /daemonize yes /port 700*(分别对每个机器的端口号进行设     置)

(2)redis实例的pid文件: pidfile "/var/run/redis_700*.pid"

(3) 日志的配置文件: logfile "/usr/local/redis-cluster/700*/redis.log"

(4) dir /usr/local/redis-cluster/700*/ (指定数据文件存储位置,必须要指定不同的目录位置,不然会丢失数据)

(5)cluster-enabled yes(启动集群模式,开始玩耍)

(6)cluster-config-file nodes700*.conf(这里700*最好和port对应上)

(7)cluster-node-timeout 5000 (redis超时时间,可改可不改)

(8)appendonly yes / 并修改aof模式为: appendfsync always  (开启redis数据实时持久化策略)

2.4 启动两个redis实例

 

当前7008 7009 redis实例虽然启动了  但是并没有加入集群

验证命令

登录7008

[root@mini34 redis-cluster]# redis/bin/redis-cli -h mini34 -p 7008

mini34:7008> info

 

3.将实例7008 7009加入集群

主节点添加(7008)------------------------------------

3.1使用redis-trib.rb脚本命令:

     ~/redis-3.2.8/src/redis-trib.rb add-node 新节点ip:新节点端口 集群任意一台节点IP:集群中任意一台节点端口    如下

     ~/redis-3.2.8/src/redis-trib.rb add-node 192.168.1.34:7008 192.168.1.34:7001

 

3.2检验节点是都添加成功


3.3检验数据槽是否分配了

 

3.4为新加入的节点分配数据槽

 

对集群进行重新分片,分一点槽给新加入的机器

命令: ~/redis-3.2.8/src/redis-trib.rb reshard集群中任意一台主节点IP:集群中任意一台主节点端口

如下:

~/redis-3.2.8/src/redis-trib.rb reshard mini34:7001

执行命令

[root@mini34 ~]# ~/redis-3.2.8/src/redis-trib.rb reshard mini34:7001

>>> Performing Cluster Check (using node mini34:7001)

M: b37b29006c1b7c205cac9ccec729f020224370fa mini34:7001

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

S: 5bce6e6e8db64dfb9f4dc704739ce5ba55a4e956 127.0.0.1:7004

   slots: (0 slots) slave

   replicates b37b29006c1b7c205cac9ccec729f020224370fa

M: 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 127.0.0.1:7008

   slots: (0 slots) master

   0 additional replica(s)

S: 8d440f94d4fe20cad6a6711e829461187d2141b1 127.0.0.1:7005

   slots: (0 slots) slave

   replicates e75adb7b8c4bb8a9f2256cd7291195a5664f5d54

M: c24f0c5d00233b81a79b7cf3b3d28dbcef123328 127.0.0.1:7003

   slots:10923-16383 (5461 slots) master

   1 additional replica(s)

S: 00f224f0da87d31321630dfbaa9ef0170b745706 127.0.0.1:7006

   slots: (0 slots) slave

   replicates c24f0c5d00233b81a79b7cf3b3d28dbcef123328

M: e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 127.0.0.1:7002

   slots:5461-10922 (5462 slots) master

   1 additional replica(s)

[OK] All nodes agree about slots configuration.

>>> Check for open slots...

>>> Check slots coverage...

[OK] All 16384 slots covered.

需要移动多少个槽到新的节点

How many slots do you want to move (from 1 to 16384)? 20

接收节点的id

What is the receiving node ID? 4f257a0d79ae59ef55b8dfe81e6f89f945469b78

Please enter all the source node IDs.

  从所有节点中随机抽取20个数据槽

  Type 'all' to use all the nodes as source nodes for the hash slots.

  从指定节点中抽取20个数据槽

  Type 'done' once you entered all the source nodes IDs.

Source node #1:all

 

Ready to move 20 slots.

  Source nodes:

    M: b37b29006c1b7c205cac9ccec729f020224370fa mini34:7001

   slots:0-5460 (5461 slots) master

   1 additional replica(s)

    M: c24f0c5d00233b81a79b7cf3b3d28dbcef123328 127.0.0.1:7003

   slots:10923-16383 (5461 slots) master

   1 additional replica(s)

    M: e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 127.0.0.1:7002

   slots:5461-10922 (5462 slots) master

   1 additional replica(s)

  Destination node:

    M: 4f257a0d79ae59ef55b8dfe81e6f89f945469b78 127.0.0.1:7008

   slots: (0 slots) master

   0 additional replica(s)

  Resharding plan:

    Moving slot 5461 from e75adb7b8c4bb8a9f2256cd7291195a5664f5d54

    Moving slot 5462 from e75adb7b8c4bb8a9f2256cd7291195a5664f5d54

    Moving slot 5463 from e75adb7b8c4bb8a9f2256cd7291195a5664f5d54

    Moving slot 5464 from e75adb7b8c4bb8a9f2256cd7291195a5664f5d54

    Moving slot 5465 from e75adb7b8c4bb8a9f2256cd7291195a5664f5d54

    Moving slot 5466 from e75adb7b8c4bb8a9f2256cd7291195a5664f5d54

    Moving slot 5467 from e75adb7b8c4bb8a9f2256cd7291195a5664f5d54

    Moving slot 10923 from c24f0c5d00233b81a79b7cf3b3d28dbcef123328

    Moving slot 10924 from c24f0c5d00233b81a79b7cf3b3d28dbcef123328

    Moving slot 10925 from c24f0c5d00233b81a79b7cf3b3d28dbcef123328

    Moving slot 10926 from c24f0c5d00233b81a79b7cf3b3d28dbcef123328

    Moving slot 10927 from c24f0c5d00233b81a79b7cf3b3d28dbcef123328

    Moving slot 10928 from c24f0c5d00233b81a79b7cf3b3d28dbcef123328

    Moving slot 0 from b37b29006c1b7c205cac9ccec729f020224370fa

    Moving slot 1 from b37b29006c1b7c205cac9ccec729f020224370fa

    Moving slot 2 from b37b29006c1b7c205cac9ccec729f020224370fa

    Moving slot 3 from b37b29006c1b7c205cac9ccec729f020224370fa

    Moving slot 4 from b37b29006c1b7c205cac9ccec729f020224370fa

Moving slot 5 from b37b29006c1b7c205cac9ccec729f020224370fa

是否执行上面的规划计划

Do you want to proceed with the proposed reshard plan (yes/no)?yes

Moving slot 5461 from 127.0.0.1:7002 to 127.0.0.1:7008:

Moving slot 5462 from 127.0.0.1:7002 to 127.0.0.1:7008:

Moving slot 5463 from 127.0.0.1:7002 to 127.0.0.1:7008:

Moving slot 5464 from 127.0.0.1:7002 to 127.0.0.1:7008:

Moving slot 5465 from 127.0.0.1:7002 to 127.0.0.1:7008:

Moving slot 5466 from 127.0.0.1:7002 to 127.0.0.1:7008:

Moving slot 5467 from 127.0.0.1:7002 to 127.0.0.1:7008:

Moving slot 10923 from 127.0.0.1:7003 to 127.0.0.1:7008:

Moving slot 10924 from 127.0.0.1:7003 to 127.0.0.1:7008:

Moving slot 10925 from 127.0.0.1:7003 to 127.0.0.1:7008:

Moving slot 10926 from 127.0.0.1:7003 to 127.0.0.1:7008:

Moving slot 10927 from 127.0.0.1:7003 to 127.0.0.1:7008:

Moving slot 10928 from 127.0.0.1:7003 to 127.0.0.1:7008:

Moving slot 0 from mini34:7001 to 127.0.0.1:7008:

Moving slot 1 from mini34:7001 to 127.0.0.1:7008:

Moving slot 2 from mini34:7001 to 127.0.0.1:7008:

Moving slot 3 from mini34:7001 to 127.0.0.1:7008:

Moving slot 4 from mini34:7001 to 127.0.0.1:7008:

Moving slot 5 from mini34:7001 to 127.0.0.1:7008:

[root@mini34 ~]#

3.5检验新节点上是否已经有了数据槽

 

从节点添加(7009)------------------------------------

3.6添加7009节点

命令:

~/redis-3.2.8/src/redis-trib.rb add-node 新节点ip:新节点端口 集群任意一台节点IP:集群中任意一台节点端口    

如下:

     ~/redis-3.2.8/src/redis-trib.rb add-node 192.168.1.34:7009 192.168.1.34:7001

 

3.7查看7009节点信息

 

3.8绑定70097008的从节点

 

命令: cluster replicate绑定到哪个主节点上

如下: cluster replicate 4f257a0d79ae59ef55b8dfe81e6f89f945469b78   (7008id)

 

[root@mini34 redis-cluster]# redis/bin/redis-cli -h mini34 -p 7009

mini34:7009> cluster replicate 4f257a0d79ae59ef55b8dfe81e6f89f945469b78

OK

mini34:7009> cluster nodes

4f257a0d79ae59ef55b8dfe81e6f89f945469b78 127.0.0.1:7008 master - 0 1495106329675 7 connected 0-5 5461-5467 10923-10928

eab2aa8fe15448bc9b9c012a36d102e740172eca 127.0.0.1:7009 myself,slave4f257a0d79ae59ef55b8dfe81e6f89f945469b78 0 0 0 connected

e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 127.0.0.1:7002 master - 0 1495106331691 2 connected 5468-10922

8d440f94d4fe20cad6a6711e829461187d2141b1 127.0.0.1:7005 slave e75adb7b8c4bb8a9f2256cd7291195a5664f5d54 0 1495106330682 2 connected

5bce6e6e8db64dfb9f4dc704739ce5ba55a4e956 127.0.0.1:7004 slave b37b29006c1b7c205cac9ccec729f020224370fa 0 1495106328161 1 connected

b37b29006c1b7c205cac9ccec729f020224370fa 127.0.0.1:7001 master - 0 1495106327657 1 connected 6-5460

00f224f0da87d31321630dfbaa9ef0170b745706 127.0.0.1:7006 slave c24f0c5d00233b81a79b7cf3b3d28dbcef123328 0 1495106328664 3 connected

c24f0c5d00233b81a79b7cf3b3d28dbcef123328 127.0.0.1:7003 master - 0 1495106326654 3 connected 10929-16383

mini34:7009>

大功搞成!!!!!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值