Выборы нового лидера zookeeper завершают работу Spark Master

Я понял, что главная искра становится невосприимчивой, когда я убиваю лидера-зооператора (конечно, я назначил предвыборную задачу лидера для зоопарка). Ниже приведен журнал ошибок, который я вижу на Master Spark node. У вас есть какие-либо предложения по его устранению?

15/06/22 10:44:00 INFO ClientCnxn: Unable to read additional data from
> server sessionid 0x14dd82e22f70ef1, likely server has closed socket,
> closing socket connection and attempting reconnect 

15/06/22 10:44:00
> INFO ClientCnxn: Unable to read additional data from server sessionid
> 0x24dc5a319b40090, likely server has closed socket, closing socket
> connection and attempting reconnect 

15/06/22 10:44:01 INFO
> ConnectionStateManager: State change: SUSPENDED 

15/06/22 10:44:01 INFO
> ConnectionStateManager: State change: SUSPENDED 

15/06/22 10:44:01 WARN
> ConnectionStateManager: There are no ConnectionStateListeners
> registered. 

15/06/22 10:44:01 INFO ZooKeeperLeaderElectionAgent: We
> have lost leadership 

15/06/22 10:44:01 ERROR Master: Leadership has
> been revoked -- master shutting down.

Ответ 1

Это ожидаемое поведение. Вы должны установить "n" количество мастеров, и вам нужно указать URL-адрес zookeeper во всем главном env.sh

SPARK_DAEMON_JAVA_OPTS="-Dspark.deploy.recoveryMode=ZOOKEEPER -Dspark.deploy.zookeeper.url=zk1:2181,zk2:2181"

Обратите внимание, что zookeeper поддерживает кворум. Это означает, что вам нужно иметь нечетное количество zookeepers, и только тогда, когда кворум будет сохранен, кластер zookeeper будет работать. Поскольку искра зависит от zookeeper, это означает, что искровой кластер не будет работать до тех пор, пока не будет сохранен кворум zookeeper.

Когда вы настроите двух (n) мастеров и спустите zookeeper, текущий мастер пойдет вниз, и новый мастер будет выбран, и все рабочие узлы будут привязаны к новому хозяину.

Вы должны были начать свой рабочий, указав

./start-slave.sh spark://master1:port1,master2:port2

Вам нужно подождать 1-2 минуты! для уведомления об этом отказе.