Flink(四)集群安装(二)

shihongpin / 2024-09-27 / 原文

YARN模式

概念

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

Session-cluster模式

  • Session-Cluster模式需要先启动集群,然后再提交作业,接着会向yarn申请一块空间后,资源永远保持不变,如果资源满了,下一个作业就无法提交,只能等到yarn中的其中一个作业执行完成后,释放了资源,下个作业才会正常提交
  • 所有作业共享Dispatcher和ResourceManager;共享资源;适合规模小执行时间短的作业
  • 在yarn中初始化一个flink集群,开辟指定的资源,以后提交任务都向这里提交,这个flink集群会常驻在yarn集群中,除非手工停止

Per-Job-Cluster模式

  • 一个Job会对应一个集群,每提交一个作业会根据自身的情况,都会单独向yarn申请资源,直到作业执行完成,一个作业的失败与否并不会影响下一个作业的正常提交和运行
  • 独享Dispatcher和ResourceManager,按需接受资源申请;适合规模大长时间运行的作业
  • 每次提交都会创建一个新的flink集群,任务之间互相独立,互不影响,方便管理,任务执行完成之后创建的集群也会消失

Session-cluster模式

  • 启动集群
[user@hadoop102 ~]$ myhadoop.sh start
  • 启动yarn-session
[user@hadoop102 ~]$ cd /opt/module/flink-1.10.1/bin/
[user@hadoop102 bin]$ ./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:后台执行
  • 执行任务
[user@hadoop102 flink-1.10.1]$ ./bin/flink run -c com.hongpin.bigdata.StreamWordCount Flink-1.0-SNAPSHOT.jar --host 192.168.10.102 --port 7777
  • 取消yarn-session
yarn application --kill application_ID

Per Job Cluster模式

  • 不启动yarn-session,直接执行job
[user@hadoop102 flink-1.10.1]$ ./bin/flink run -m yarn-cluster -c com.hongpin.bigdata.StreamWordCount Flink-1.0-SNAPSHOT.jar --host 192.168.10.102 --port 7777

在YARN控制台查看任务状态

本地运行模式

[user@hadoop102 flink-1.10.1]$ ./bin/flink run examples/batch/WordCount.jar 
Executing WordCount example with default input data set.
Use --input to specify file input.
Printing result to stdout. Use --output to specify output path.
Job has been submitted with JobID 41c41147e842a1398297abe2dec35bbd
Program execution finished
Job with JobID 41c41147e842a1398297abe2dec35bbd has finished.
Job Runtime: 907 ms
Accumulator Results: 
- 8a95d00f656cb4b9397518289d919555 (java.util.ArrayList) [170 elements]


(a,5)
(action,1)
(after,1)
(against,1)
(all,2)
(and,12)
(arms,1)
(arrows,1)
(awry,1)