我谷歌并发现了两个解决方案:
1.CLUSTER FORGET(http://redis.io/commands/cluster-forget)
2.redis-trib.rb del-node
我认为“CLUSTER FORGET”是正确的做法。
但我真的想知道“redis-trib.rb del-node”的详细信息。
有人可以解释它们之间的区别吗?
谢谢!
答案 0 :(得分:3)
redis-trib.rb是一个ruby实用程序脚本,antirez(lead redis开发人员)构建为基本redis集群命令之上构建管理工具的参考实现。
在引擎盖下,redis-trib使用CLUSTER FORGET来实现它自己的管理del-node命令。 https://github.com/antirez/redis/blob/unstable/src/redis-trib.rb#L1374
Redis-trib使用起来更友好。如果您正在进行CLUSTER FORGET,则需要循环并将该命令发送到系统中的每个其他节点,而del-node将为您自动执行该过程。
答案 1 :(得分:2)
src/redis-trib.rb del-node 192.168.0.211:6379 650e3746968e6b7c7e357f06adbde5b3b92fcceb
注意: 192.168.0.211:6379这是群集中的任何节点 650e3746968e6b7c7e357f06adbde5b3b92fcceb这是要删除的节点的群集ID。您可以从“cluster nodes”命令获取此ID的值。
答案 2 :(得分:0)
警告:redis-trib.rb 不再可用! 您应该改用 redis-cli。
属于 redis-trib.rb 的所有命令和功能都已移动
到 redis-cli。
为了使用它们,您应该使用 redis-cli
调用 --cluster
选项后跟子命令名称、参数和选项。
使用以下语法:
redis-cli --cluster SUBCOMMAND [ARGUMENTS] [OPTIONS]
示例:
redis-cli --cluster info 127.0.0.1:6382
~$ redis-cli
127.0.0.1:6379> CLUSTER HELP
127.0.0.1:6379> CLUSTER NODES
127.0.0.1:6379> CLUSTER FORGET <node-id>