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来统一管理
Apache Flink是一种开源的流处理框架,用于对大规模数据流进行状态计算。YARN(Yet Another Resource Negotiator)是Hadoop的一个子项目,它是一个资源管理系统,可以为各种应用程序(包括Flink)提供集群资源。 要在YARN上安装Flink 1.16.2,请按照以下步骤操作: 1. 下载Flink 1.16.2 首先,您需要从Apache Flink的官方网站下载Flink 1.16.2的二进制发行版。 2. 解压下载的文件 将下载的压缩包解压到您选择的目录中,例如 `/path/to/flink-1.16.2`。 3. 配置环境变量(可选) 为了方便使用,您可以在您的shell配置文件(如 `.bashrc` 或 `.zshrc`)中设置环境变量,以便可以直接调用Flink命令。 4. 配置YARN客户端 编辑Flink的配置文件,通常位于 `conf/flink-conf.yaml`。您需要设置一些基本的配置,如作业管理器的内存大小等。对于YARN集成,您可能需要配置如下: ```yaml jobmanager.heap.size: 1024m taskmanager.heap.size: 1024m taskmanager.numberOfTaskSlots: 4 parallelism.default: 4 ``` 另外,您需要确保YARN的配置文件(如 `yarn-site.xml`)在 `conf` 目录下,或者您可以通过Flink的命令行选项指定Hadoop配置目录。 5. 部署到YARN 使用FlinkYARN客户端提交作业到YARN集群。您可以使用以下命令格式: ```bash ./bin/flink run -m yarn-cluster -yjm <jobmanager-memory> -ytm <taskmanager-memory> -yd <parallelism> <jar-file> ``` 这里的参数分别代表: - `-m yarn-cluster`:指定运行模式为YARN集群模式。 - `-yjm <jobmanager-memory>`:设置JobManager进程的内存大小。 - `-ytm <taskmanager-memory>`:设置TaskManager进程的内存大小。 - `-yd <parallelism>`:设置作业的默认并行度。 - `<jar-file>`:是您的Flink作业的jar包路径。 如果一切配置正确,Flink将会在YARN上启动并运行您的作业。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值