Стандарты внедрения Flink - PullRequest
0 голосов
/ 12 июня 2018

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

  1. Целесообразно ли использовать кластер совместно с другими заданиями?
  2. Если одно задание завершится неудачно, оно также убьет диспетчер задач, выполняющий потоки другого задания?
  3. Если у нас нет другого пути и нам нужно работать с общим кластером, каков наилучший способ обработки сценариев исключений, чтобы другое задание не было убито, когда диспетчер задач совершил самоубийство с ошибкой FATAL?

1 Ответ

0 голосов
/ 12 июня 2018
  1. Я бы порекомендовал использовать режим работы Флинка, когда у вас есть выделенный кластер Флинк для работы.Это дает вам изоляцию работы, и вредоносное задание Flink не сможет помешать другим вашим работам.

  2. Если работа не удалась из-за сбоя задачи, это не повлияет на другиезадания, выполняемые на одном и том же TaskManager.

  3. В случае сбоя TaskManager все выполняемые в данный момент задачи завершатся неудачей.Следовательно, все задания, в которых есть хотя бы одна задача, выполняемая на этом TaskManager, потерпят неудачу, а затем их необходимо будет восстановить.В настоящее время нет способа обеспечить изоляцию для каждого задания в общем кластере.Однако существует проблема JIRA , которая пытается решить эту проблему путем введения тегов уровня задания.Эти теги можно использовать для управления расписанием задач, относящихся к разным работам.

...