redis 3.0 集群__安装

参考文档

http://redis.io/topics/cluster-tutorial

http://redis.io/topics/cluster-spec

http://redis.readthedocs.org/en/latest/index.html

redis 3.0 设计原理

http://blog.csdn.net/yfkiss/article/details/39996129

使用 redis-trib 配置的前提依赖包

yum install ruby

yum install rubygems

gem install redis --version 3.0.0 ( yum install 没有,所以换 gem install )

下载 redis 3.0.0安装包后,make 编译后, src 目录下会出现 redis-server, redis-cli 等命令,然后自己编好 conf ,然后启动 7001-7006 6个redis-server 

然后用 redis-trib.rb create 初始化集群,如下

输入 yes 后

这样 16384 个 slot 就分给了 7001, 7002, 7003 三个 master 了, 7004, 7005, 7006 分别对应是这三个 mater 的 slave

redis-cli -p 7000 cluster info ,前后对比如下

redis-cli -p 7001 cluster nodes 列出所有的节点

cluster 的 常用命令如下

集群  
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 槽中的键。  
原文地址:https://www.cnblogs.com/zyguo/p/4401596.html