Flink 如何部署到 YARN 上?

· 约 4 分钟读完 · 第 18 / 161 章

推荐答案

要将 Flink 部署到 YARN 上,可以按照以下步骤进行:

  1. 确保环境配置正确:

    • 确保 Hadoop 和 YARN 已经正确安装并配置。
    • 确保 HADOOP_CONF_DIR 或 YARN_CONF_DIR 环境变量指向正确的 Hadoop 配置文件目录。
  2. 下载并解压 Flink:

    • 从 Apache Flink 官方网站下载最新版本的 Flink。
    • 解压下载的文件到指定目录。
  3. 配置 Flink:

    • 编辑 conf/flink-conf.yaml 文件,设置 jobmanager.rpc.address 为 YARN 集群的主节点地址。
    • 设置 yarn.application.name 为你的应用程序名称。
    • 设置 taskmanager.numberOfTaskSlots 为每个 TaskManager 的 slot 数量。
  4. 启动 Flink on YARN:

    • 使用以下命令启动 Flink 集群:
    • 其中:
      • -n 指定 TaskManager 的数量。
      • -jm 指定 JobManager 的内存大小。
      • -tm 指定 TaskManager 的内存大小。
      • -d 表示以 detached 模式运行。
  5. 提交作业:

    • 使用以下命令提交 Flink 作业:
    • 其中:
      • -m 指定 YARN 集群的地址。
      • -yn 指定 TaskManager 的数量。
      • -yjm 指定 JobManager 的内存大小。
      • -ytm 指定 TaskManager 的内存大小。
      • <path_to_your_jar> 是你的 Flink 作业的 JAR 文件路径。

本题详细解读

1. 环境配置

在部署 Flink 到 YARN 之前,必须确保 Hadoop 和 YARN 已经正确安装并配置。HADOOP_CONF_DIR 或 YARN_CONF_DIR 环境变量需要指向包含 Hadoop 配置文件的目录,这些配置文件包括 core-site.xml、hdfs-site.xml 和 yarn-site.xml 等。

2. 下载并解压 Flink

从 Apache Flink 官方网站下载最新版本的 Flink,并解压到指定目录。解压后,Flink 的目录结构如下:

3. 配置 Flink

在 conf/flink-conf.yaml 文件中,需要配置一些关键参数:

  • jobmanager.rpc.address:指定 JobManager 的 RPC 地址,通常设置为 YARN 集群的主节点地址。
  • yarn.application.name:指定在 YARN 上运行的 Flink 应用程序的名称。
  • taskmanager.numberOfTaskSlots:指定每个 TaskManager 的 slot 数量,这决定了并行度。

4. 启动 Flink on YARN

使用 yarn-session.sh 脚本启动 Flink 集群。该脚本会向 YARN 提交一个 Flink 应用程序,并启动 JobManager 和 TaskManager。-d 参数表示以 detached 模式运行,即不占用当前终端。

5. 提交作业

使用 flink run 命令提交 Flink 作业。-m 参数指定 YARN 集群的地址,-yn、-yjm 和 -ytm 分别指定 TaskManager 的数量、JobManager 的内存大小和 TaskManager 的内存大小。最后,指定 Flink 作业的 JAR 文件路径。

通过以上步骤,Flink 就可以成功部署到 YARN 上,并运行 Flink 作业。