Поделиться через


Управление конфигурацией Apache Flink® в HDInsight в AKS

Примечание.

Мы отставим Azure HDInsight в AKS 31 января 2025 г. До 31 января 2025 г. необходимо перенести рабочие нагрузки в Microsoft Fabric или эквивалентный продукт Azure, чтобы избежать резкого прекращения рабочих нагрузок. Оставшиеся кластеры в подписке будут остановлены и удалены из узла.

До даты выхода на пенсию будет доступна только базовая поддержка.

Внимание

Эта функция в настоящее время доступна для предварительного ознакомления. Дополнительные условия использования для предварительных версий Microsoft Azure включают более юридические термины, применимые к функциям Azure, которые находятся в бета-версии, в предварительной версии или в противном случае еще не выпущены в общую доступность. Сведения об этой конкретной предварительной версии см. в статье Azure HDInsight в предварительной версии AKS. Для вопросов или предложений функций отправьте запрос на AskHDInsight с подробными сведениями и следуйте за нами для получения дополнительных обновлений в сообществе Azure HDInsight.

HDInsight в AKS предоставляет набор конфигураций Apache Flink по умолчанию для большинства свойств и некоторых из них на основе общих профилей приложений. Однако если вам потребуется настроить свойства конфигурации Flink для повышения производительности для определенных приложений с использованием состояния, параллелизмом или параметрами памяти, можно изменить конфигурацию задания Flink с помощью раздела "Задания Flink" в HDInsight в кластере AKS.

  1. Перейдите к заданиям > Flink > , чтобы перейти к обновлению.

    Снимок экрана: страница обновления.

  2. Нажмите кнопку +Добавить строку, чтобы изменить конфигурацию.

    Снимок экрана: задание обновления.

    Здесь интервал контрольной точки изменяется на уровне кластера.

  3. Обновите изменения, нажав кнопку "ОК " и "Сохранить".

  4. После сохранения новые конфигурации обновляются через несколько минут (около 5 минут).

  5. Конфигурации, которые можно обновить с помощью параметров управления конфигурацией.

    processMemory size:

  6. Параметры по умолчанию для размера памяти процесса или диспетчера заданий и диспетчера задач будут памятью, настроенной пользователем во время создания кластера.

  7. Этот размер можно настроить с помощью следующего свойства конфигурации. Чтобы изменить память процесса диспетчера задач, используйте эту конфигурацию.

    taskmanager.memory.process.size : <value>

    Пример: taskmanager.memory.process.size : 2000mb

  8. Для диспетчера заданий

    jobmanager.memory.process.size : <value>

    Примечание.

    Максимальная настраиваемая память процесса равна памяти, настроенной для jobmanager/taskmanagerпамяти.

Интервал контрольной точки

Интервал контрольной точки определяет, как часто Flink активирует контрольную точку. Определяется в миллисекундах и может быть задано с помощью следующего свойства конфигурации.

execution.checkpoint.interval: <value>

Значение по умолчанию равно 60 000 миллисекундам (1 мин), это значение можно изменить по мере необходимости.

Серверная часть состояния

Серверная часть состояния определяет, как Flink управляет и сохраняет состояние приложения. Это влияет на то, как хранятся контрольные точки. Серверная часть состояния можно настроить с помощью следующего свойства:

state.backend: <value>

По умолчанию кластеры Apache Flink в HDInsight в AKS используют Rocks DB.

Путь к хранилищу контрольных точек

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

state.checkpoints.dir: <path> Замените <path> нужный путь, в котором хранятся контрольные точки.

По умолчанию хранится в учетной записи хранения (ABFS), настроенной пользователем. Это значение можно изменить на любой путь, требуемый до тех пор, пока к ним могут получить доступ модули pod Flink.

Максимальное число одновременных контрольных точек

Максимальное количество одновременных контрольных точек можно ограничить, задав следующее свойство: checkpoint.max-concurrent-checkpoints: <value>

Замените <value> требуемое максимальное количество одновременных контрольных точек. Например, 1 позволяет одновременно разрешать только одну контрольную точку.

Максимальное количество сохраненных контрольных точек

Максимальное количество контрольных точек можно ограничить, задав следующее свойство: state.checkpoints.num-retained: <value> Замените <value> нужным максимальным числом. По умолчанию мы сохраняем не более пяти контрольных точек.

Путь к хранилищу Savepoint

По умолчанию мы разрешаем постоянные точки сохранения, сохраняя точки сохранения в abfs хранилище (как настроено пользователем). Если пользователь хочет остановить и позже запустить задание с определенной точкой сохранения, он может настроить это расположение. state.checkpoints.dir: <path> замените <path> нужный путь, в котором хранятся точки сохранения. По умолчанию хранится в учетной записи хранения, настроенной пользователем. (Мы поддерживаем ABFS). Это значение можно изменить на любой путь, требуемый до тех пор, пока к ним могут получить доступ модули pod Flink.

Высокий уровень доступности диспетчера заданий

В HDInsight в AKS Flink использует Kubernetes в качестве серверной части. Даже если диспетчер заданий завершается сбоем из-за любой известной или неизвестной проблемы, модуль pod перезапускается в течение нескольких секунд. Таким образом, даже если задание перезапускается из-за этой проблемы, задание восстанавливается обратно с последней контрольной точки.

Вопросы и ответы

Почему происходит сбой задания между ними? Даже если задания завершаются резкой ошибкой, если контрольные точки происходят непрерывно, задание перезапускается по умолчанию с последней контрольной точки.

Измените стратегию задания между ними? Существуют варианты использования, когда задание должно быть изменено в рабочей среде из-за какой-то ошибки уровня задания. В течение этого времени пользователь может остановить задание, которое будет автоматически принимать точку сохранения и сохранять ее в расположении точки сохранения.

  1. savepoint Щелкните и дождитесь savepoint завершения.

    Снимок экрана: параметры точки сохранения.

  2. После завершения точки сохранения появится вкладка "Пуск" и "Начать задание". Выберите имя точки сохранения в раскрывающемся списке. При необходимости измените все конфигурации. Нажмите кнопку "ОК".

    Снимок экрана: запуск задания.

Так как точка сохранения предоставляется в задании, Flink знает, откуда начать обработку данных.

Справочные материалы