redis-cluster - добавление подчиненного узла в существующий кластер с навсегда зависшего удаленного компьютера - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь подключить кластер из 8 реплик на одном адресе к существующему кластеру на другом адресе.

Все серверы реплик работают в режиме кластера.

Когда я пытаюсьсделать:

./redis-trib.rb add-node --slave REPLICA_IP:6380 MASTER_IP:6380

или

./redis-cli --cluster add-node REPLICA_IP:6380 MASTER_IP:6380 --cluster-slave

Я получаю тот же результат;

Waiting for the cluster to join...........................

, который висит бесконечно.

Два сервера определенно могут видеть друг друга, и я могу подключиться к любому соответствующему узлу redis-узла (реплике или основному устройству) с любого сервера.Порты обнаружения / связи (16830 и т. Д.) Также открыты и доступны для связи.Выходные данные этих команд также предполагают, что кластер был найден, поскольку он показывает каждый из узлов и их правильные идентификаторы узлов.

Вот полный вывод любой команды add-node:

>>> Adding node REPLICA_IP:6380 to cluster MASTER_IP:6380
>>> Performing Cluster Check (using node MASTER_IP:6380)
M: 043a5fa4fdca929d3d87f953906dc7c1f030926c MASTER_IP:6380
   slots:[0-2047] (2048 slots) master
M: e104777d31630eef11a01e41c7d3a6c98e14ab64 MASTER_IP:6386
   slots:[12288-14335] (2048 slots) master
M: 9c807d6f57a9634adcdf75fa1943c32c985bda1c MASTER_IP:6384
   slots:[8192-10239] (2048 slots) master
M: 0f7ec07deff97ca23fe67109da2365d916ff1a67 MASTER_IP:6383
   slots:[6144-8191] (2048 slots) master
M: 974e8b4051b7a8e33db62ba7ad62c7e54abe699d MASTER_IP:6382
   slots:[4096-6143] (2048 slots) master
M: b647bb9d732ff2ee83b097ffb8b49fb2bccd366f MASTER_IP:6387
   slots:[14336-16383] (2048 slots) master
M: a86ac1d5e783bed133b153e471fdd970c17c6af5 MASTER_IP:6381
   slots:[2048-4095] (2048 slots) master
M: 6f859b03f86eded0188ba493063c5c2114d7c11f MASTER_IP:6385
   slots:[10240-12287] (2048 slots) master
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
Automatically selected master MASTER_IP:6380
>>> Send CLUSTER MEET to node REPLICA_IP:6380 to make it join the cluster.
Waiting for the cluster to join
............................

Если я запускаю CLUSTER MEET вручную, а затем CLUSTER NODES, я могу временно увидеть другой узел в состоянии «рукопожатие» со статусом «отключен», а затем он исчезает.Он показывает идентификатор узла, который не совпадает с тем, что есть на самом деле.

1 Ответ

0 голосов
/ 09 ноября 2018

Я понял это:

Используя tcpdump, я подтвердил, что оба сервера неоднократно общались между собой как на портах сервера Redis, так и на портах рукопожатия, в то время как команда add-slave зависла навсегда.

но в конфигах redis для каждого узла у меня было:

bind 0.0.0.0

, но как на мастерах, так и на репликах конфигурация должна выглядеть так:

bind SERVER_IP

для правильной работы CLUSTER MEET.

...