Обнаружение искрового отказа - почему датоде не посылает пульс на основной компьютер (драйвер) - PullRequest
0 голосов
/ 05 сентября 2018

как всем известно, сердцебиение - это сигнал, отправляемый периодически для указания нормальной работы узла или синхронизации с другими частями системы

в нашей системе у нас есть 5 рабочих машин, в то время как на 3 из них выполняется

наша система включает в себя 5 машин данных (рабочих) и 3 главных машины, версия hadoop 2.6.4, все машины имеют версию 7.x

.

и установочный сервер на первом компьютере master1 (а драйвер в master1)

В Spark пульсами являются сообщения, отправленные исполнителями (с рабочих машин) водителю (машина master1), сообщение представлено классом случая org.apache.spark.Heartbeat

Затем сообщение получает драйвер с помощью метода org.apache.spark.HeartbeatReceiver # receiveAndReply (context: RpcCallContext). Водитель:

основное назначение пульса состоит в проверке, жив ли данный узел (от рабочей машины до машины master1)

Драйвер проверяет его через фиксированный интервал (определенный в записи spark.network.timeoutInterval), отправляя сообщение ExpireDeadHosts себе. Когда сообщение обрабатывается, драйвер проверяет исполнителей без последних тактов.

до сих пор я объясняю концепцию

Мы замечаем, что сообщения, отправленные исполнителем, не могут быть доставлены водителю, и из журналов пряжи мы можем увидеть это предупреждение

WARN executor.Executor: Issue communicating with driver in heartbeater

Мой вопрос - что может быть причиной того, что водитель (машина master1) не получает сердцебиение от рабочих машин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...