开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

flink on yarn 环境,当任务程序包和配置文件目录config分离,应该怎么启动任务程序?

flink on yarn 环境,当任务程序包和配置文件目录config分离,并上传到HDFS时,应该怎么启动任务程序?

展开
收起
三分钟热度的鱼 2023-10-24 21:12:10 402 0
5 条回答
写回答
取消 提交回答
  • 在Flink on Yarn环境中,如果任务程序包和配置文件目录config分离并上传到HDFS,您可以使用以下命令来启动任务程序:./bin/flink run -m yarn-cluster -ynm myjobname -yjm 1024 -yrc hdfs://<path-to-hdfs/config/config.yaml -py yourprogram.py。其中,hdfs://path-to-hdfs/config/config.yaml是存放在HDFS上的配置文件路径。

    此外,为了确保Flink作业的高可用性,您可以考虑配置Flink集群HA(High Availability)。默认情况下,Flink只有一个JobManager,这可能导致单点故障。通过配置JobManager HA,您的集群可以从单点故障中恢复,从而避免系统中断。

    还需要注意,Flink提供了两种在Yarn上运行的模式:Session-Cluster和Per-Job-Cluster。Session-Cluster模式需要先启动集群,然后再提交作业。而Per-Job-Cluster模式是为每个作业单独启动一个Flink集群。根据您的需求和资源情况,选择合适的运行模式。

    最后,确保您的Yarn集群配置正确,并且与Flink版本兼容。例如,Zookeeper, HDFS 和 Yarn的版本需要与Flink版本匹配。同时,检查Yarn的配置,如虚拟内存检查设置,以确保Flink作业在Yarn上正常运行。

    2023-10-29 07:52:17
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    在 Flink on YARN 环境中,如果你将任务程序包和配置文件目录分离,并上传到 HDFS,你可以通过以下步骤来启动任务程序:

    1. 将任务程序包和配置文件上传到 HDFS 上的指定目录。确保你已经将任务程序包和配置文件正确地上传到了 HDFS,并且你知道它们在 HDFS 上的路径。

    2. 使用 yarn-session.sh 脚本启动 Flink 会话。在启动脚本时,需要指定以下参数:

      • -t yarn-per-job:指定 Flink on YARN 的执行模式为 "yarn-per-job"。
      • -n <number-of-taskmanagers>:指定 TaskManager 的数量。
      • -jm <jobmanager-memory>:指定 JobManager 的内存大小。
      • -tm <taskmanager-memory>:指定每个 TaskManager 的内存大小。
      • -d:启用后台模式运行。
      • -j <path-to-job-jar>:指定任务程序包在 HDFS 上的路径。
      • -c <fully-qualified-classname>:指定任务程序的入口类。
      • -yD <key=value>:设置任务程序的配置项。例如,-yD fs.hdfs.hadoopconf=/etc/hadoop 可以设置 Hadoop 配置文件的路径。

      以下是一个示例的启动命令:

      ./bin/yarn-session.sh -t yarn-per-job -n 2 -jm 1024m -tm 2048m -d -j hdfs:///path/to/job.jar -c com.example.MyJob -yD fs.hdfs.hadoopconf=/etc/hadoop
      

      注意替换 <number-of-taskmanagers><jobmanager-memory><taskmanager-memory><path-to-job-jar><fully-qualified-classname> 为实际的值。

    3. Flink 会话启动后,它将自动从 HDFS 上加载任务程序包和配置文件。任务程序将在 Flink on YARN 上执行。

    通过以上步骤,你可以在 Flink on YARN 环境中成功启动任务程序,并使用分离的任务程序包和配置文件。确保在启动脚本中正确指定 HDFS 上的路径,并提供正确的参数和配置项。

    2023-10-24 23:53:01
    赞同 展开评论 打赏
  • 在Flink on yarn环境中,如果任务程序包和配置文件目录config分离并上传到HDFS,您可以按照以下步骤启动任务程序:

    1. 首先,将Flink程序包和配置文件上传到HDFS集群上。
    2. 然后,使用Yarn客户端提交任务到Yarn ResourceManager,并申请所需的资源。
    3. ResourceManager会分配Container资源并启动ApplicationMaster。接着,ApplicationMaster会从HDFS中加载Flink的程序包和配置文件,构建运行环境,并启动JobManager。

    在Flink On Yarn模式下,Yarn的资源可以按需使用,提高集群的资源利用率。此外,Yarn的任务有优先级,可以根据优先级运行作业。基于Yarn调度系统,能够自动化地处理各个角色的Failover。

    2023-10-24 22:38:39
    赞同 展开评论 打赏
  • config文件也上传到hdfs,程序包从hdfs读配置文件。用ParameterTool来获取传入的配置文件路径,然后使用Hadoop的FileSystem API来读HDFS上的配置文件。此回答整理自钉群“实时计算Flink产品交流群”

    2023-10-24 22:12:14
    赞同 展开评论 打赏
  • 当任务程序包和配置文件目录config分离,并上传到HDFS时,可以通过以下命令在Flink on Yarn环境中启动任务程序:

    ./bin/flink run -m yarn-cluster -ynm myjobname -yjm 1024 -yrc config/config.yaml -py yourprogram.py
    

    其中,config/config.yaml是配置文件的路径,yourprogram.py是任务程序的路径。-ynm选项用于指定YARN应用程序的名称,-yjm选项用于指定YARN应用程序的JVM堆大小,-yrc选项用于指定配置文件的路径。
    注意,这个命令假设你已经将任务程序和配置文件上传到了HDFS,并且Flink on Yarn客户端可以访问这些文件。如果你的HDFS目录结构和上述命令中的不同,你可能需要修改config/config.yaml文件中的相关路径。

    2023-10-24 21:40:38
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关产品

  • 实时计算 Flink版
  • 相关电子书

    更多
    Flink CDC Meetup PPT - 龚中强 立即下载
    Flink CDC Meetup PPT - 王赫 立即下载
    Flink CDC Meetup PPT - 覃立辉 立即下载