Работник Presto Изящное отключение - PullRequest
0 голосов
/ 14 декабря 2018

В рамках усилий по автоматическому масштабированию нашего Presto кластера мы хотели бы аккуратно отключить Presto Work перед тем, как EC2 завершит его.После следующей команды

curl -v -XPUT --data '"SHUTTING_DOWN"' -H "Тип содержимого: application / json" http://250.0.46.167:8081/v1/info/state

В журнале работника указано "com.facebook.presto.server.GracefulShutdownHandler Запрошено завершение работы "немедленно и скоро узел в координаторе переходит в состояние" shutting_down ".Рабочий процесс наконец завершается через 4 минуты (из-за двойного льготного периода в 2 минуты вместо ожидающего запроса).

Пока все хорошо, как и ожидалось для любого управляемого демона.Рабочий процесс немедленно перезапускается, и вскоре узел возвращается в «активный» в координаторе.

Мы хотим, чтобы постепенное завершение работы в Presto работало примерно так, как показано ниже: запрос на отключение будет отправлен координатору (вместо рабочего).координатор говорит работнику отключиться, а затем логически удаляет его из списка активных узлов.Если работник перезапустится и зарегистрируется обратно, координатор проигнорирует его в течение следующего часа.

Интересно, как нынешний владелец / оператор кластеров Presto справляется с этой проблемой?

...