Apache мигает на Kubernetes - Возобновить работу, если сбой менеджера по работе - PullRequest
0 голосов
/ 30 августа 2018

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

Сбой менеджера по работе кажется немного сложнее. На этой странице flip-6 Я прочитал, что zookeeper необходим для того, чтобы знать, какую контрольную точку должен использовать менеджер по работе, чтобы восстановиться и для выборов лидера.

Если kubernetes перезапустит менеджер заданий при его сбое, есть ли способ для нового менеджера заданий возобновить работу, не настраивая кластер zookeeper?

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

Edit: http://apache -flink-user-mailing-list-archive.2336050.n4.nabble.com / Flink-HA-with-Kubernetes-без-Zookeeper-td15033.html представляется интересным, но не имеет последующий

1 Ответ

0 голосов
/ 31 августа 2018

Из коробки Flink требуется кластер ZooKeeper для восстановления после сбоев JobManager. Тем не менее, я думаю, что вы можете иметь легкую реализацию HighAvailabilityServices, CompletedCheckpointStore, CheckpointIDCounter и SubmittedJobGraphStore, которая может привести вас довольно далеко.

Учитывая, что у вас постоянно работает только один JobManager (не совсем уверен, могут ли K8s гарантировать это), и у вас есть постоянное хранилище, вы можете реализовать CompletedCheckpointStore, который извлекает заполненные контрольные точки из системы постоянного хранения. (например, чтение всех сохраненных файлов контрольных точек). Кроме того, у вас будет файл, содержащий текущий счетчик идентификаторов контрольных точек для CheckpointIDCounter и все представленные графики заданий для SubmittedJobGraphStore. Поэтому основная идея - хранить все на постоянном томе, доступном для одного JobManager.

...