redis集群管理

1.  增加主节点

    默认增加一个节点到一个集群中,这个节点默认为主节点。

    cluster meet  192.168.1.48 7003

    加入进去集群后, 该redis是一个master的角色,而且没有分配槽。

    进入这个新加入集群的redis中,执行一个命令:  cluster replicate 2e13d27dd3426032ab8274b66e45651c175a02fa

    这个新的redis,就变成从节点。

2.  增加从节点

    ./redis-trib.rb add-node --slave --master-id 3c3a0c74aae0b56170ccb03a76b60cfe7dc1912e 127.0.0.1:7006 127.0.0.1:7000

[root@cachecloud-48 7003]# /opt/cachecloud/redis/src/redis-trib.rb add-node 192.168.1.231:6379 192.168.1.48:7001
>>> Adding node 192.168.1.231:6379 to cluster 192.168.1.48:7001
>>> Performing Cluster Check (using node 192.168.1.48:7001)
M: 5c83158d9afb6de1ab2aeee3b84cb0d8aa281430 192.168.1.48:7001
   slots:0-5460 (5461 slots) master
   1 additional replica(s)
M: dd97e2be5096090d9dce9e0425597b1b860c6bfc 192.168.1.49:7001
   slots:5461-10922 (5462 slots) master
   1 additional replica(s)
M: d4298e710342c5fd383b84d9b47785d689db2d50 192.168.1.48:7002
   slots:10923-16383 (5461 slots) master
   1 additional replica(s)
S: 62594b8989f17691c3d51106b7e8b1752e8d433a 192.168.1.48:7003
   slots: (0 slots) slave
   replicates dd97e2be5096090d9dce9e0425597b1b860c6bfc
S: 8b565ddc460e0fbdae049a99e4aee2223a590e7d 192.168.1.49:7003
   slots: (0 slots) slave
   replicates d4298e710342c5fd383b84d9b47785d689db2d50
S: 980b713a9cb8079fb09d6304c90ca536f9d5f07f 192.168.1.49:7002
   slots: (0 slots) slave
   replicates 5c83158d9afb6de1ab2aeee3b84cb0d8aa281430
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[ERR] Node 192.168.1.231:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

    解决方法;

      1.  关闭要新增的redis服务。

      2.  删除aof,rdb还有node.conf文件

      3、还不行再删除所有redis节点的appendonly.aof、dump.rdb、nodes.conf,再执行

      4、还不行清库再执行

        [root@localhost ~]# cd /usr/local/redis-3.0.6/src/
        [root@localhost src]# redis-cli -c -p 7000
        127.0.0.1:7000>  flushdb
        OK

3.  删除主节点

4.  删除从节点

5.  节点错误:

   出现错误:0 master,no addr

    使用cluster del-node 删除节点的时候报错。

    解决方法:cluster forget <node-id>

6.  删除节点

    del-node可以把某个节点从集群中删除。del-node只能删除没有分配slot的节点。删除命令传递两个参数:

host:port:从该节点获取集群信息。
node_id:需要删除的节点id。

     /opt/cachecloud/redis/src/redis-trib.rb del-node 192.168.1.231:6379 6b43c5e240e1c179c2bcd9e9bdaa99d28eebd438

     /opt/cachecloud/redis/src/redis-trib.rb del-node 192.168.1.231:7379 ea9cfed7a230cef0575d01b013804f7a1cd07947

 

posted @ 2018-11-28 10:06  奋斗史  阅读(209)  评论(0)    收藏  举报