For redis cluster nodes that have flag "fail" in their CLUSTER NODES, redis-trib.rb doesn't work and returns "No such node ID" error.

172.28.33.60:6379> cluster nodes 269581feb90f27ca7c6acee403f1f1683791980e 10.2.5.1:6379@16379 slave acd0dff06c0714f366061b1a080b2b959ea7c2d3 0 1497923422000 5 connected 2673ebd40b8bcacdc71f6f471c925c4095e28446 10.2.3.1:6379@16379 master - 0 1497923421000 3 connected 10923-16383 624012381bef7932d8c946e9cc3211c090d398a9 10.2.6.1:6379@16379 master - 0 1497923424423 1 connected 0-5460 0651808161806ef2d61d7dea4530b9cd6c58d8ef 10.2.7.1:6379@16379 slave,fail 2673ebd40b8bcacdc71f6f471c925c4095e28446 1497912602221 1497912599617 6 disconnected 48b4f950873d496d627843d78684f8031f84d6ca 10.2.4.1:6379@16379 slave 624012381bef7932d8c946e9cc3211c090d398a9 0 1497923423421 4 connected acd0dff06c0714f366061b1a080b2b959ea7c2d3 10.2.1.1:6379@16379 myself,master - 0 1497923422000 2 connected 5461-10922 ea5a1ac7da53a38dab600d176a5e765fa130b625 10.2.2.1:6379@16379 slave 2673ebd40b8bcacdc71f6f471c925c4095e28446 0 1497923423000 3 connected

/usr/local/bin/redis-trib.rb info 10.2.2.1:6379 [ERR] Sorry, can't connect to node 10.2.7.1:6379 10.2.3.1:6379 (2673ebd4...) -> 1 keys | 5461 slots | 1 slaves. 10.2.6.1:6379 (62401238...) -> 1 keys | 5461 slots | 1 slaves. 10.2.1.1:6379 (acd0dff0...) -> 2 keys | 5462 slots | 1 slaves. [OK] 4 keys in 3 masters. 0.00 keys per slot on average.

/usr/local/bin/redis-trib.rb del-node 10.2.2.1:6379 0651808161806ef2d61d7dea4530b9cd6c58d8ef

Removing node 0651808161806ef2d61d7dea4530b9cd6c58d8ef from cluster 10.2.2.1:6379 [ERR] No such node ID 0651808161806ef2d61d7dea4530b9cd6c58d8ef

Looking at load_cluster_info_from_node() in redis-trib.rb, same error will probably occur for nodes that also have flag "disconnected" or "noaddr".

Comment From: sunpy1106

I came across the same problem..

sunpy-mbpdeMacBook-Pro:src sunpy-mbp$ redis-cli -p 6379 127.0.0.1:6379> cluster nodes df7770a73221eee6726f9a1a614a3f7be4df14a9 127.0.0.1:6380 slave a49d388c3a27c909be3d268b4de0acebaf1b9c6b 0 1501922517654 9 connected 723620fc8934615df4e1607d38b742f8f547ff66 127.0.0.1:6382 slave cdfc70fba6070f62c00830240c5f8951bcb9981e 0 1501922522663 4 connected a49d388c3a27c909be3d268b4de0acebaf1b9c6b 127.0.0.1:6383 master - 0 1501922520655 8 connected 0-49 5461-10972 ff8dbc0ed63a0404f9c5117c0e6e04225e6c70c1 127.0.0.1:6381 slave a4f54b98346293dca443991fb7c0c0ba5fb5263e 0 1501922517153 9 connected 56c47166f510adfd6d221ec3ab19c5aa4d09aec8 :0 master,fail,noaddr - 1501918817281 1501918815580 7 disconnected cdfc70fba6070f62c00830240c5f8951bcb9981e 127.0.0.1:6379 myself,master - 0 0 1 connected 50-5460 a4f54b98346293dca443991fb7c0c0ba5fb5263e 127.0.0.1:6384 master - 0 1501922521663 9 connected 10973-16383 127.0.0.1:6379> sunpy-mbpdeMacBook-Pro:src sunpy-mbp$ ./redis-trib.rb del-node 127.0.0.1:6379 56c47166f510adfd6d221ec3ab19c5aa4d09aec8

Removing node 56c47166f510adfd6d221ec3ab19c5aa4d09aec8 from cluster 127.0.0.1:6379 [ERR] No such node ID 56c47166f510adfd6d221ec3ab19c5aa4d09aec8

Comment From: pauky

Because redis-trib can't del node that is noaddr. You must login the redis cluster and exec command below.

CLUSTER FORGET node-id

This command can del the node of noaddr. And then you can add node by redis-trib.