flink on yarn、资源及状态管理

本文详细介绍了Flink在YARN上的两种执行任务方式,包括yarn-session.sh和flink run -m yarn-cluster。接着讨论了Flink的状态管理与容错机制,如checkpoint和savepoint的使用。最后,深入探讨了Flink的资源管理,包括JobManager、TaskManager、job、task、subtask、slot等概念,并解析了并行度管理和资源分配策略。
摘要由CSDN通过智能技术生成

flink源码学习:
http://www.cnblogs.com/bethunebtj/p/9168274.html

flink on yarn 执行任务的两种方式

1.yarn-session.sh(开辟资源)+flink run(提交任务)

1.在yarn中起一个守护进程,用于启动多个job,即一个application master 管理多个job  
2.启动命令:  
  ./yarn-session.sh -n 4 -jm 1024 -tm 5120 -s 5 -nm yarn-session-jobs -d  
  参数说明:  
  (1) -n : 指定number of task manager,指定taskmanager个数  
  (2) -jm: jobmanager所占用的内存数,单位为MB  
  (3) -tm: 指定每个taskmanager所占用的内存,单位为MB  
  (4) -s: 指定每个taskmanager可使用的cpu核数  
  (5) -nm: 指定Application的名称  
  (6) -d : 后台启动,session启动后,进程关闭
  
3.流程说明:
  (1) 启动session 后,yarn首先会分配一个Container,用于启动APP master和jobmanager, 所占用内存为-jm指定的内存大小,cpu为1核  
  (2) 没有启动job之前,jobmanager是不会启动taskmanager的(jobmanager会根据job的并行度,即所占用的slots,来动态的分配taskmanager)  
  (3) 提交任务到APP master
  ./flink run -p 3 -yid application_id -d -c com.kn.rt.Test01 ~/jar/dw-1.0-SNAPSHOT.jar  
  用于启动一个job到指定的APP master中  
  参数说明:
  #1.-p:指定任务的并行度,如果你在程序代码中指定了并行度的话,那么此处的并行度参数不起作用  
  #2.-yid:指定任务提交到哪一个application—id,默认是提交到本节点最新提交的一个application  
  #3.-c: job的主入口 + jar path  
  > 注:job参数要写在-c之前,不然指定参数不起作用...

1.2 flink run -m yarn-cluster(开辟资源+提交任务)

1.启动单个job,即单job单session,实现资源的完全隔离  
2.启动job的脚本跟yarn-session 中有差异  ,通过指定 -m yarn-cluster,参数较session都带有-y
./flink run -m yarn-cluster -yn 2 -yjm 1024  -ytm 3076 -ys 3 -ynm yarn-cluster-1 -yqu root.default -c com.kn.rt.Test01 ~/jar/dw-1.0-SNAPSHOT.jar   
 参数说明:  
 #1.-m :yarn-cluster,代表启动单session提交单一job  
 #2.-yn:taskmanager个数  
 #3.-yjm:jobmanager的内存占用  
 #4.-ytm:每个taskmanager的内存占用  
 #5.-ys: 每个taskmanager可使用的CPU核数  
 #6.-ynm:application 名称  
 #7.-yqu:指定job的队列名称  
 #8.-c: 程序主入口+ jar path  

1.3.flink on yarn设置参数注意事项

1.资源都统一有yarn来统一管理
  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值