Zookeeper не может работать правильно, если один узел в кластере - PullRequest
1 голос
/ 29 января 2020

У меня была проблема на моем кластере zookeeper, у меня есть 2 сервера, и на каждом сервере есть один zookeeper. Например:

server.1=x.x.x.x:2888:3888 
server.2=x.x.x.x:2888:3888

Если один зоопарк не работает, другой не может работать. Я не имею ни малейшего представления, чтобы решить эту проблему, или лучший зоопарк номер, который я должен построить кластер зоопарк?

Ответы [ 2 ]

1 голос
/ 29 января 2020

В высокодоступном ансамбле Zookeeper вы должны настроить 2n + 1 Экземпляры Zookeeper, где n - любое число больше 1. Это означает, что для кворума Zookeeper (т. Е. Здорового ансамбля) вы должны настроить нечетное количество экземпляров (3, 5, 7, ...). Это связано с тем, что Zookeeper не может проводить выборы большинства за лидерство, используя четное количество экземпляров.

При условии, что вы правильно настроили ансамбль Zookeeper с 2n + 1 экземплярами (кворумом), может быть до n неудачных экземпляров Zookeeper без сброса кластера.

Если кворум нарушится, кластер Zookeeper будет go вниз. Это то, что произошло в вашем случае. Попробуйте использовать большее количество экземпляров Zookeeper в вашем ансамбле (3 или 5), и это должно сработать. В качестве альтернативы, если вам не нужна высокая доступность, вы все равно можете использовать только 1 экземпляр Zookeeper.

1 голос
/ 29 января 2020

ZooKeeper будет работать до тех пор, пока большинство его узлов, если он работает, если N - число узлов в кластере, он будет работать до тех пор, пока working_nodes_number > N/2

Теперь, если у вас 2 узлы, и один не работает (working_nodes_number = 1), зоопарк не будет работать: N / 2 = 1 и, очевидно, 1 > 1 не так

Другими словами, кластер из двух серверов не может оставаться жив, даже если один узел не работает .

Попробуйте запустить 3 узла, так что если один узел выйдет из строя, все равно будет 2 узла (большинство), чтобы zookeeper продолжал работать

В общем, хорошая стратегия - использовать кластер с нечетным числом узлов. Возможно, вам будет интересно прочитать эту статью , которая имеет отношение к обсуждению

...