链条传动

砥砺前行,不忘初心!

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

redis cluster 步骤:
1、nodes启用cluster配置
2、nodes加入集群
3、分配slot
4、为master节点添加slave节点

使用redis-trib.rb或redis-cli 5.xx版本操作管理集群
1、准备启用了cluster配置的nodes节点
2、创建集群
redis-cli --cluster create --cluster-replicas 1 ip:port ip:port ...

redis-cli --cluster help

3、集群扩容
新节点加入集群
redis-cli --cluster add-node new_host:new_port existing_host:existing_port
slot重分片
redis-cli --cluster reshard ip:port(集群任意节点ip端口)
为扩容的新节点添加slave
连接要成为slave的节点
> cluster replicate masternodeid

4、集群缩容
将要下线节点上的slot迁移到其他节点,保证下线节点上没有slot
redis-cli --cluster reshard ip:port(集群任意节点ip端口)
集群忘记该节点
redis-cli --cluster del-node ip:port(集群任意节点ip端口) node_id


5、集群slot自动平衡
redis-cli --cluster rebalance ip:port(集群任意节点ip端口)

6、集群手动切换主从
连接slave节点
> cluster failover

 

 


redis集群命令:

//集群(cluster)
CLUSTER INFO 打印集群的信息
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。

//节点(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)。

//键 (key)
CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。
CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。
CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。

posted on 2020-10-29 17:16  链条君  阅读(327)  评论(0编辑  收藏  举报