redis cluster

 https://blog.csdn.net/mingojiang/article/details/78902370

https://www.cnblogs.com/wxd0108/p/5798332.html

 

 

cluster forget 3491adc01c5bc226516f029df9e2bf1bc9fe63fd 删除节点

cluster meet 10.5.2.17 7005 添加节点

redis-cli -c -h 10.5.2.14

1  安装 redis  修改配置文件

mkdir /export1/redislog/
mkdir /export1/rdb/

bind 10.5.2.13
port 7000
daemonize yes
pidfile /var/run/redis_7000.pid
logfile "/export1/redislog/redis_7000.log"
dbfilename dump7000.rdb
dir /export1/rdb/
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-node-timeout 15000
cluster-slave-validity-factor 10
cluster-migration-barrier 1
cluster-require-full-coverage yes

[root@redis13 export1]# more /root/.bash_profile
PATH=$PATH:$HOME/bin:/export1/redis-3.2.4/src
export PATH


yum install ruby rubygems -y

wget https://rubygems.global.ssl.fastly.net/gems/redis-3.2.2.gem --no-check-certificate

gem install -l redis-3.2.2.gem

 

2 启动redis

 redis-server /export1/redis-3.2.4/redis7000.conf
 redis-server /export1/redis-3.2.4/redis7001.conf
 redis-server /export1/redis-3.2.4/redis7002.conf
 redis-server /export1/redis-3.2.4/redis7003.conf
 redis-server /export1/redis-3.2.4/redis7004.conf
 redis-server /export1/redis-3.2.4/redis7005.conf

 

 

 

3 创建集群
redis-trib.rb create --replicas 1 10.5.2.13:7000 10.5.2.13:7001 10.5.2.13:7002 10.5.2.13:7003 10.5.2.13:7004 10.5.2.13:7005

3  查看 集群信息:

4  添加新节点:

redis-trib.rb add-node 10.5.2.13:7006 10.5.2.13:7005

5  查看新节点状态:

新加入的节点 不能分配keys, 新加入节点没有soler

6  新节点 变为从节点:

 ##################直接添加从主机:redis-trib.rb add-node --slave --master-id $[nodeid] 127.0.0.1:7006 127.0.0.1:7000#########################

7 删除从节点:

redis-trib.rb del-node 10.5.2.13:7006 b6824d87790ca9a0686949b89016945577eb3a18

8  加入老的节点:

  8.1 rm -rf dump7006.rdb nodes-7006.conf 

  8.2 关闭 7006

  8.3 启动 7006

  8.4  添加   redis-trib.rb add-node 10.5.2.13:7006 10.5.2.13:7005  节点,  详见上边4

 

9 把新加入的节点变为主节点:

  9.1 分配slot:

redis-trib.rb reshard 10.5.2.13:7006

  9.2 查看状态:

   10  删除主节点:

      10.1  分配slot:把slot 转移到其他节点上

 

    10.2  先删除 从节点

    10.3  再删除 主节点  redis-trib.rb del-node 10.5.2.13:7006 905aac63b7f807250c8f1353bd35cf0533495eab

    10.4  查看已经删除: 

 

11  主节点 7001:down了,7004从变成主:

 

 

 

12  把7001坏的节点起来: 7001 变成了7004 的从:

 

13  如果新加入从 详见上边

 

14 删除坏的主节点:

 15  集群命令:

CLUSTER INFO 打印集群的信息
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
节点
CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。
CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。
CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
槽(slot)
CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。
CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。
CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。
CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。
CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。
CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。
CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。
CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。

 

 

 

 

 

    

 

posted @ 2017-10-24 22:44  晴天下大雨  阅读(254)  评论(0编辑  收藏  举报