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


Кластер режима приложения Apache Flink в HDInsight в AKS

Внимание

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

HDInsight в AKS теперь предлагает кластер режима приложения Flink. Этот кластер позволяет управлять жизненным циклом режима приложения Flink кластера с помощью портал Azure с простым интерфейсом и REST API управления ресурсами Azure. Кластеры в режиме приложения предназначены для поддержки больших и длительных заданий с выделенными ресурсами и обработки ресурсоемких или обширных задач обработки данных.

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

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

Достоинства

  • Упрощенное развертывание кластера с jar-файлом задания.

  • Удобный ИНТЕРФЕЙС REST API: HDInsight в AKS предоставляет удобные ИНТЕРФЕЙСы REST API ARM для управления операцией задания в режиме приложения, таких как Update, Savepoint, Cancel, Delete.

  • Простое управление заданиями Обновления и управление состояниями. Встроенная интеграция портал Azure предоставляет бесплатный интерфейс для обновления заданий и восстановления их до последнего сохраненного состояния (savepoint). Эта функция обеспечивает непрерывность и целостность данных на протяжении всего жизненного цикла задания.

  • Автоматизация заданий Flink с помощью Azure Pipelines или других средств CI/CD. Использование HDInsight в AKS, пользователи Flink имеют доступ к удобному API REST ARM, вы можете легко интегрировать операции задания Flink в Azure Pipeline или другие средства CI/CD.

Ключевые функции

  • Остановка и запуск заданий с помощью точек сохранения: пользователи могут корректно остановить и запустить свои задания Flink AppMode из предыдущего состояния (Savepoint). Точки сохранения обеспечивают сохранение хода выполнения задания, обеспечивая простое возобновление работы.

  • Задание Обновления. Пользователь может обновить запущенное задание AppMode после обновления jar-файла в учетной записи хранения. Это обновление автоматически принимает точку сохранения и запускает задание AppMode с новым jar-файлом.

  • Обновления без отслеживания состояния. Выполнение нового перезапуска для задания AppMode упрощается с помощью обновлений без отслеживания состояния. Эта функция позволяет пользователям инициировать чистый перезапуск с помощью обновленного jar-файла задания.

  • Управление точками сохранения. В любой момент пользователи могут создавать точки сохранения для выполнения заданий. Эти точки сохранения можно перечислить и использовать для перезапуска задания из определенной точки проверка по мере необходимости.

  • Отмена: отменяет задание окончательно.

  • Удаление: удаление кластера AppMode.

Необходимые компоненты

Выполните необходимые условия в следующих разделах:

  • Предварительные требования к подписке.

  • Предварительные требования к ресурсам.

  • Создание пула кластера.

  • Добавьте jar-файл задания в служба хранилища account.

    Перед настройкой кластера режима приложения Flink необходимо выполнить несколько предварительных действий. Одним из этих шагов является размещение JAR-файла задания в режиме приложения в учетной записи хранения кластера.

  • Создайте каталог для JAR-файла задания в режиме приложения:

    В выделенных контейнерах создайте каталог, в котором вы отправляете JAR-файл задания в режиме приложения. Этот каталог служит расположением для хранения JAR-файлов, которые необходимо включить в путь к классу кластера или задания Flink.

  • Каталог Savepoints (необязательно):

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

  • Пример структуры каталогов:

    Схема, показывающая структуру каталогов точек сохранения.

Кластеры Flink AppMode можно создать после завершения развертывания пула кластеров, давайте рассмотрим действия, если вы начинаете работу с существующим пулом кластеров.

  1. В портал Azure введите пулы кластеров HDInsight/HDInsight/HDInsight в AKS и выберите Azure HDInsight в пулах кластеров AKS, чтобы перейти на страницу пулов кластеров. На странице пулов кластеров HDInsight в AKS выберите пул кластеров, в котором требуется создать новый кластер Flink.

    Снимок экрана: страница пула кластера.

  2. На странице конкретного пула кластеров нажмите кнопку +Создать кластер и укажите следующие сведения:

    Свойство Описание
    Подписка Это поле автоматически заполнено подпиской Azure, зарегистрированной для пула кластеров.
    Группа ресурсов Это поле автоматически заполняется и отображает группу ресурсов в пуле кластеров.
    Область/регион Это поле автоматически заполняется и отображает регион, выбранный в пуле кластеров.
    Пул кластеров Это поле автоматически заполняется и отображает имя пула кластера, на котором создается кластер. Чтобы создать кластер в другом пуле, найдите пул кластеров на портале и нажмите кнопку +Создать кластер.
    HDInsight в версии пула AKS Это поле автоматически заполняется и отображает версию пула кластера, на которой создается кластер.
    HDInsight в версии AKS Выберите дополнительную или исправленную версию HDInsight в AKS нового кластера.
    Тип кластера В раскрывающемся списке выберите Flink.
    Имя кластера Введите имя нового кластера.
    Управляемое удостоверение, назначаемое пользователем В раскрывающемся списке выберите управляемое удостоверение, используемое в кластере. Если вы являетесь владельцем управляемого удостоверения службы (MSI), а у MSI нет роли оператора управляемых удостоверений в кластере, щелкните ссылку ниже, чтобы назначить разрешение, необходимое для msi пула агентов AKS. Если MSI уже имеет правильные разрешения, ссылка не отображается. См. предварительные требования для других назначений ролей, необходимых для MSI.
    Storage account В раскрывающемся списке выберите учетную запись хранения, чтобы связаться с кластером Flink и указать имя контейнера. Управляемое удостоверение предоставляется дополнительному доступу к указанной учетной записи хранения с помощью роли "владелец данных BLOB-объектов служба хранилища" во время создания кластера.
    Виртуальная сеть Виртуальная сеть для кластера.
    Подсеть Виртуальная подсеть для кластера.
  3. Включение каталога Hive для Flink SQL:

    Свойство Description
    Использование каталога Hive Включите этот параметр для использования внешнего хранилища метаданных Hive.
    База данных SQL для Hive В раскрывающемся списке выберите База данных SQL, в которой необходимо добавить таблицы hive-metastore.
    Имя администратора SQL Введите имя администратора SQL Server. Эта учетная запись используется хранилищем метаданных для обмена данными с базой данных SQL.
    Хранилище ключей В раскрывающемся списке выберите Key Vault, содержащий секрет с паролем для имени администратора SQL Server. Необходимо настроить политику доступа со всеми необходимыми разрешениями, такими как разрешения ключа, разрешения секрета и разрешения сертификата для MSI, который используется для создания кластера. Для MSI требуется роль Администратор istrator Key Vault. Добавьте необходимые разрешения с помощью IAM.
    Имя секрета пароля SQL Введите имя секрета из Key Vault, где хранится пароль базы данных SQL.

    Снимок экрана: страница создания кластера Apache Flink.

    Примечание.

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

  4. Нажмите кнопку "Далее" для продолжения настройки.

  5. На странице "Конфигурация" укажите следующие сведения:

    Свойство Description
    Размер узла Выберите размер узла, который будет использоваться для узлов Flink, как головных, так и рабочих узлов.
    Количество узлов Выберите количество узлов для кластера Flink; По умолчанию головные узлы являются двумя. Размер рабочих узлов помогает определить конфигурации диспетчера задач для Flink. Диспетчер заданий и серверы журнала находятся на головных узлах.
  6. В разделе "Развертывание" выберите тип развертывания в режиме приложения:

    Свойство Description
    Jar-путь Предоставьте путь ABFS (служба хранилища) для jar-файла задания. Например: abfs://flink@teststorage.dfs.core.windows.net/appmode/job.jar
    Класс записи (необязательно) Основной класс для кластера в режиме приложения. Ex: com.microsoft.testjob
    Args (необязательно) Аргумент для основного класса задания.
    Имя точки сохранения Имя старой точки сохранения, которую вы хотите использовать для запуска задания
    Режим обновления Выберите параметр обновления по умолчанию. Этот параметр используется при обновлении основной версии для кластера. Доступны три варианта. UPDATE: используется, когда пользователь хочет восстановить после обновления после последней точки сохранения. STATELESS_UPDATE. Используется, когда пользователь хочет перезапустить новое задание после обновления. LAST_STATE_UPDATE. Используется, когда пользователь хочет восстановить задание после последнего проверка point после обновления
    Конфигурация задания Flink Добавьте дополнительную конфигурацию, необходимую для задания Flink.
  7. Выберите "Агрегирование журнала заданий". Установите флажок, если вы хотите передать журнал заданий в удаленное хранилище. Это помогает отладить проблемы с заданием. Расположение по умолчанию для журнала заданий — "служба хранилища Account/Container/DeploymentId/logs". Вы можете изменить каталог журналов по умолчанию, настроив "pipeline.remote.log.dir". Интервал по умолчанию для сбора журналов составляет 600 с. Пользователь может измениться, настроив параметр pipeline.log.aggregation.interval.

  8. В разделе "Конфигурация службы" укажите следующие сведения:

    Свойство Description
    ЦП диспетчера задач Целое число. Введите размер ЦП диспетчера задач (в ядрах).
    Память диспетчера задач в МБ Введите размер памяти диспетчера задач в МБ. Мин 1800 МБ.
    ЦП диспетчера заданий Целое число. Введите количество ЦП для диспетчера заданий (в ядрах).
    Память диспетчера заданий в МБ Введите размер памяти в МБ. Не менее 1800 МБ.
    ЦП сервера журнала Целое число. Введите количество ЦП для диспетчера заданий (в ядрах).
    Память сервера журнала в МБ Введите размер памяти в МБ. Не менее 1800 МБ.

    Снимок экрана: вкладка

  9. Нажмите кнопку "Далее": кнопка "Интеграция", чтобы перейти к следующей странице.

  10. На странице интеграции укажите следующие сведения:

    Свойство Description
    Служба Log Analytics Эта функция доступна только в том случае, если связанная с пулом кластеров рабочая область Log Analytics, после включения журналов для сбора можно выбрать.
    Azure Prometheus Эта функция предназначена для просмотра Аналитика и журналов непосредственно в кластере, отправляя метрики и журналы в рабочую область Azure Monitor.

    Снимок экрана: вкладка

  11. Нажмите кнопку "Далее": "Теги", чтобы перейти к следующей странице.

  12. На странице "Теги" укажите следующие сведения:

    Свойство Описание
    Имя. Необязательно. Введите имя, например HDInsight в AKS, чтобы легко определить все ресурсы, связанные с ресурсами кластера.
    Значение Вы можете оставить это пустым.
    Ресурс Выберите все выбранные ресурсы.
  13. Чтобы продолжить работу, выберите элемент Next: Review + create (Далее: просмотр и создание).

  14. На странице "Проверка и создание" найдите сообщение "Проверка выполнена успешно" в верхней части страницы и нажмите кнопку "Создать".

На странице развертывания в процессе отображается созданный кластер. Создание кластера занимает 5–10 минут. После создания кластера отображается сообщение "Развертывание завершено". Если вы перейдете с страницы, вы можете проверка уведомления для текущего состояния.

Управление заданием приложения на портале

HDInsight AKS предоставляет способы управления заданиями Flink. Вы можете повторно запустить неудачное задание. Перезапустите задание с портала.

Чтобы запустить задание Flink на портале, перейдите к следующим ссылкам:

Портал > HDInsight в пуле > Flink кластера > AKS Параметры > задания Flink.

Снимок экрана: выполняемые задания Apache Flink.

  • Stop: задание остановки не требует каких-либо параметров. Пользователь может остановить задание, выбрав действие. После остановки задания состояние задания на портале будет остановлено.

  • Запуск задания из точки сохранения. Чтобы запустить задание, выберите остановленное задание и запустите его.

  • Обновление: обновление помогает перезапустить задания с обновленным кодом задания. Пользователям необходимо обновить последний jar-файл задания в расположении хранилища и обновить задание на портале. Это действие останавливает задание с помощью точки сохранения и начинается с последнего jar-файла.

  • Обновление без отслеживания состояния: обновление без отслеживания состояния похоже на обновление, но оно включает в себя новый перезапуск задания с последним кодом. После обновления задания состояние задания на портале отображается как запущенное.

  • Savepoint: возьмите точку сохранения для задания Flink.

  • Отмена: завершение задания.

  • Удаление: удаление кластера AppMode.

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

    Снимок экрана: представление JSON.

Для любого неисправного действия в этом представлении json приводятся подробные исключения и причины сбоя.