Запуск Flink в YARN

В данной статье описан пример запуска Flink поверх YARN-кластера. В примере приложение Flink запускается в режиме application, который рекомендован для использования в production-среде, так как обеспечивает лучшую изоляцию между приложениями. В этом режиме при запуске Flink-кластера поверх YARN метод main() приложения Flink выполняется в контейнерах YARN.

Для запуска Flink в режиме YARN выполните следующие шаги:

  1. На узле ADH-кластера, где установлен Flink client, запустите bash от имени пользователя flink.

    $ sudo -u flink bash
  2. В открывшейся bash-сессии выполните команду:

    $ . /etc/flink/conf/flink-env.sh
  3. Запустите приложение Flink как показано ниже.

    $ flink run-application (1)
    -t yarn-application (2)
    -Dsecurity.kerberos.token.provider.hadoopfs.renewer=yarn (3)
    /usr/lib/flink/examples/batch/WordCount.jar
    1 Запуск Flink в application-режиме.
    2 Режим деплоя YARN для запуска Flink-приложения.
    3 Устанавливает пользователя yarn для обновления токенов делегирования (по умолчанию задействован пользователь flink).
    ПРИМЕЧАНИЕ
    Параметр -Dsecurity.kerberos.token.provider.hadoopfs.renewer=yarn является обязательным для керберизированных ADH-кластеров.

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

    SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/usr/lib/flink/lib/log4j-slf4j-impl-2.17.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/usr/lib/hadoop/lib/slf4j-reload4j-1.7.35.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
    2023-12-21 13:44:07,573 INFO  org.apache.hadoop.yarn.client.RMProxy                        [] - Connecting to ResourceManager at ka-adh-3.ru-central1.internal/10.92.40.84:8032
    2023-12-21 13:44:07,744 INFO  org.apache.hadoop.yarn.client.AHSProxy                       [] - Connecting to Application History server at ka-adh-2.ru-central1.internal/10.92.40.180:10200
    2023-12-21 13:44:07,751 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - No path for the flink jar passed. Using the location of class org.apache.flink.yarn.YarnClusterDescriptor to locate the jar
    2023-12-21 13:44:07,913 INFO  org.apache.hadoop.conf.Configuration                         [] - resource-types.xml not found
    2023-12-21 13:44:07,913 INFO  org.apache.hadoop.yarn.util.resource.ResourceUtils           [] - Unable to find 'resource-types.xml'.
    2023-12-21 13:44:07,960 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - Cluster specification: ClusterSpecification{masterMemoryMB=2048, taskManagerMemoryMB=2048, slotsPerTaskManager=1}
    2023-12-21 13:44:08,413 WARN  org.apache.hadoop.hdfs.shortcircuit.DomainSocketFactory      [] - The short-circuit local reads feature cannot be used because libhadoop cannot be loaded.
    2023-12-21 13:44:08,803 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - Cannot use kerberos delegation token manager, no valid kerberos credentials provided.
    2023-12-21 13:44:08,809 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - Submitting application master application_1702943615795_0009
    2023-12-21 13:44:08,841 INFO  org.apache.hadoop.yarn.client.api.impl.YarnClientImpl        [] - Submitted application application_1702943615795_0009
    2023-12-21 13:44:08,841 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - Waiting for the cluster to be allocated
    2023-12-21 13:44:08,842 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - Deploying cluster, current state ACCEPTED
    2023-12-21 13:44:13,620 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - YARN application has been deployed successfully.
    2023-12-21 13:44:13,621 INFO  org.apache.flink.yarn.YarnClusterDescriptor                  [] - Found Web Interface ka-adh-2.ru-central1.internal:43046 of application 'application_1702943615795_0009'.
  4. Откройте web-интерфейс YARN. Актуальная ссылка на страницу YARN UI доступна в ADCM (Clusters → <ADH_cluster> → Services → YARN → Info). На странице должно отображаться запущенное ранее приложение со статусом SUCCEEDED как показано ниже.

Веб-интерфейс YARN
Web-интерфейс YARN
Веб-интерфейс YARN
Web-интерфейс YARN
Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней