ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Flink部署——yarn模式

2022-01-21 19:33:55  阅读:179  来源: 互联网

标签:Flink 部署 flink 作业 yarn Cluster 集群 提交


以Yarn模式部署Flink任务时,要求Flink是有 Hadoop 支持的版本,Hadoop 环境需要保证版本在 2.2 以上,并且集群中安装有 HDFS 服务。

3.2.1 Flink on Yarn

Flink提供了两种在yarn上运行的模式,分别为Session-Cluster和Per-Job-Cluster模式。

1. Sesstion Cluster模式

Session-Cluster 模式需要先启动集群,然后再提交作业,接着会向 yarn 申请一块空间后,资源永远保持不变。如果资源满了,下一个作业就无法提交,只能等到 yarn 中的其中一个作业执行完成后,释放了资源,下个作业才会正常提交。所有作业共享 Dispatcher 和 ResourceManager共享资源;适合规模小执行时间短的作业。

img

在 yarn 中初始化一个 flink 集群,开辟指定的资源,以后提交任务都向这里提交。这个 flink 集群会常驻在 yarn 集群中,除非手工停止。

2. Per Job Cluster 模式

一个 Job 会对应一个集群,每提交一个作业会根据自身的情况,都会单独向 yarn 申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行。独享 Dispatcher 和 ResourceManager,按需接受资源申请;适合规模大长时间运行的作业。

每次提交都会创建一个新的 flink 集群,任务之间互相独立,互不影响,方便管理。任务执行完成之后创建的集群也会消失。

img

3.2.2 Session Cluster

  1. 启动hadoop集群(略)

  2. 启动yarn-session

    ./yarn-session.sh -n 2 -s 2 -jm 1024 -tm 1024 -nm test -d

    其中:

    • -n(--container):TaskManager的数量。

    • -s(--slots):每个TaskManager的slot数量,默认一个slot一个core,默认每个taskmanager的slot的个数为1,有时可以多一些taskmanager,做冗余。

    • -jm:JobManager的内存(单位MB)。

    • -tm:每个taskmanager的内存(单位MB)。

    • -nm:yarn 的appName(现在yarn的ui上的名字)。

    • -d:后台执行。

  3. 执行任务

    ./flink run -c com.zch.flink.StreamWordCount FlinkTutorial-1.0-SNAPSHOT-jar-with-dependencies.jar --host lcoalhost –port 7777
  4. 去 yarn 控制台查看任务状态

    img

  5. 取消 yarn-session

    yarn application --kill application_1577588252906_0001

3.2.3 Per Job Cluster

  1. 启动hadoop集群(略)

  2. 不启动yarn-session,直接执行job

    ./flink run –m yarn-cluster -c com.zch.flink.StreamWordCount FlinkTutorial-1.0-SNAPSHOT-jar-with-dependencies.jar --host lcoalhost –port 7777

标签:Flink,部署,flink,作业,yarn,Cluster,集群,提交
来源: https://blog.csdn.net/chaohui2638457321/article/details/122627883

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有