Redis 5.0开始将原本redis-trib整合到redis-cli中,可以直接操作使用.
丛集一
丛集二
丛集三
建立Redis Server丛集,至少要有3个Master节点,其余会依照给予的参数来配置Replica节点.
# 配置3个master节点
redis-cli --cluster create 127.0.0.1:6310 127.0.0.1:6320 127.0.0.1:6330
# 配置3个master节点,其余6个配置为replica节点
# --cluster-replicas 2 代表每个master节点需要配置2个replica节点
redis-cli --cluster create 127.0.0.1:6310 127.0.0.1:6320 127.0.0.1:6330 127.0.0.1:6311 127.0.0.1:6312 127.0.0.1:6321 127.0.0.1:6322 127.0.0.1:6331 127.0.0.1:6332 --cluster-replicas 2
检查Redis Server丛集配置是否OK.Slots是否有重覆分配给多个master节点.
redis-cli --cluster check 127.0.0.1:6310
# --cluster-search-multiple-owners 确认是否有同Slot被分配给多个master节点
redis-cli --cluster check 127.0.0.1:6310 --cluster-search-multiple-owners
查看Redis Server丛集状态Keys/Slots/Replica.
redis-cli --cluster info 127.0.0.1:6310
修复Redis Server丛集.修复Slots重覆分配给多个master节点问题.
redis-cli --cluster fix 127.0.0.1:6310
# --cluster-search-multiple-owners 修复Slots重覆分配给多个master节点问题
# --cluster-fix-with-unreachable-masters 修复尚未被分配的
redis-cli --cluster fix 127.0.0.1:6310 --cluster-search-multiple-owners
Redis Server丛集指定节点重新分配Slots,通常应用在扩充丛集後的重新分配的情境.
redis-cli --cluster reshard 127.0.0.1:6310
# --cluster-from 指定Redis Server丛集节点node id当作来源重新分配Slots,可以用逗号指定多个节点,预设是所有
# --cluster-to 指定Redis Server丛集节点node id来接收重新分配的Slots,只能指定一个,当没有输入时会提示输入
# --cluster-slots 需要重新分配的Slots数量,当没有输入时会提示输入
# --cluster-yes 直接确认是否要重新分配Slot
# --cluster-timeout 设定cluster migrate执行的逾时时间
# --cluster-pipeline 设定cluster getkeysinslot时一次取出的key数量,预设为10
# --cluster-replace 是否直接replace到目的节点
redis-cli --cluster reshard 127.0.0.1:6310 --cluster-from 1b9af54b8e0f609e0a066530b3f12a7852589fc3 --cluster-to 1307d911eb56f3079e2490dcab53b3131a0f8f81 --cluster-slots 10 --cluster-yes --cluster-timeout 5000 --cluster-pipeline 10 --cluster-replace
将指定的Redis Server丛集重新平均分配Slots.
# --cluster-weight 设定集群各node的权重,待後续分配slot时参照
# --cluster-use-empty-masters 设定是否让目前尚未分配到的节点参与,预设是不可以
# --cluster-timeout 设定cluster migrate执行的逾时时间
# --cluster-simulate 是否透过模拟进行rebalance
# --cluster-pipeline 设定cluster getkeysinslot时一次取出的key数量,预设为10
# --cluster-threshold 设定阀值来触发执行rebalance
# --cluster-replace 是否直接replace到目的节点
redis-cli --cluster rebalance --cluster-weight 1b9af54b8e0f609e0a066530b3f12a7852589fc3=1 7a0716a69a2e1af35eb353fadae030f6fc116864=2 1307d911eb56f3079e2490dcab53b3131a0f8f81=3 --cluster-simulate 127.0.0.1:6310
在Redis Server丛集加入新节点,预设此新增节点角色为Master节点.
# --cluster-slave 将新节点加入Master节点成为Replica
# --cluster-master-id Master节点node id
# add-node 新加入节点 任意已存在节点
redis-cli --cluster add-node 127.0.0.1:6379 127.0.0.1:6310 --cluster-slave --cluster-master-id 1b9af54b8e0f609e0a066530b3f12a7852589fc3
删除Redis Server丛集内指定的节点.
如果删除Master节点中还有配置Slots,需要先将Slots改分派到其他Master节点後才可以删除.
# 指定删除的node id
redis-cli --cluster del-node 127.0.0.1:6312 82013de2c546919a43c9b6597a2b6035bb1ac930
在Redis Server丛集中执行指定的命令.
# 预设同时对所有节点执行命令
# --cluster-only-masters 仅针对Master节点执行命令
# --cluster-only-replicas 仅针对Replica节点执行命令
redis-cli --cluster call 127.0.0.1:6310 config get cluster-node-timeout
设定cluster-node-timeout.(毫秒)
redis-cli --cluster set-timeout 10000
将外部Redis Server的资料汇入到Redis Server丛集中.
# --cluster-from 指定来源Redis Server
# --cluster-copy 使用copy的方式
# --cluster-replace 使用replace的方式
redis-cli --cluster import 127.0.0.1:6310 --cluster-from 127.0.0.1:6379 --cluster-replace
备份Redis Server丛集到路径.
redis-cli --cluster backup 127.0.0.1:6310 /home/redis/data/
<<: #29 No-code 之旅 — 部署至 Vercel
------------- 告诫 某天公司电脑以为发文完成就关机 ,结果中断铁人赛---------...
前言 有了前 2 篇从「台湾证券交易所」取得 CSV 档後,接着要把资料存入 DB,在存入前,需要先...
昨天已经介绍过,透过 grafana 监控 matching 的品质 ,今天来介绍一下,透过 gra...
安妞大家 以下一样是自学笔记 什麽是SVN(Subversion) ? SVN(Subversion...
俗语说的好:「鸟为财死,人为食亡」。(先附上新马辣的官网连结) (以上是我在Google Maps的...