Flink Yarn-Per-Job中,applicationmaster是不是就是JobManager?
时间: 2024-01-16 14:02:50 浏览: 97
是的,Flink Yarn-Per-Job模式中的application master就是JobManager。在Yarn-Per-Job模式下,每个Flink作业都会在YARN集群上启动一个独立的应用程序主管(application master),负责协调和管理该作业的执行。这个应用程序主管就是Flink的JobManager,负责接收和调度任务,监控作业的执行状态,并与YARN资源管理器(ResourceManager)进行通信来获取和释放资源。因此,Flink的JobManager在Yarn-Per-Job模式下充当了application master的角色。
相关问题
开启 Hadoop 集群,在 yarn 上以 per job 模式(即 Job 分 离 模 式 , 不 采 用 Session 模 式 ) 运 行$FLINK_HOME/examples/batch/WordCount.jar, 将运行结果最后 10 行截图粘贴到答
开启Hadoop YARN集群并以Per-Job模式运行Apache Flink的例子需要几个步骤:
1. **准备环境**:
- 安装并配置Hadoop和YARN,确保它们都正常运行。
- 将Flink安装到集群上,设置好环境变量指向`$FLINK_HOME`。
2. **启动YARN**:
- 在Hadoop集群的ResourceManager上启动YARN服务,确保它监听正确的端口,并且对JobSubmissionProtocol开放。
3. **配置Flink**:
- 在Flink配置文件`flink-conf.yaml`中,配置`jobManager.rpc.address`和`jobManager.high-availability.storageDir`指向YARN的RM地址。
- 关闭session模式,启用per-job模式。可以在`high-availability`部分添加:
```
high-availability:
mode: standalone
```
4. **打包应用**:
- 打包`examples/batch/WordCount.jar`,可能需要添加`yarn-client`或`yarn-application`作为maven或gradle插件,以便于YARN管理。
5. **提交任务**:
- 使用Flink的`flink run`命令或者`yarn client`工具提交任务,类似于:
```
$ bin/flink run -c org.apache.flink.streaming.examples.WordCount WordCount.jar
```
或者在YARN客户端环境中:
```
$ bin/flink run -s yarn-cluster -j WordCount.jar
```
6. **查看结果**:
- 任务完成后,从Hadoop的JobHistory服务器或者YARN的任务历史日志中查找WordCount作业的结果。
7. **截取结果**:
- 一旦看到结果,你可以选择手动复制最终10行内容或者利用某些脚本语言(如bash或Python)抓取并保存前10行到图片。
请注意,这里提供的是一般的指导步骤,实际操作可能会因特定环境而略有差异。完成任务后,你应能看到类似这样的输出:
```
...
[RESULT] Top 10 most frequent words:
word1 count1
word2 count2
...
```
然后截取这部分内容作为答案的一部分。
通过yarn提交perjob的flink任务设置内存和cpu
在使用yarn提交perjob的flink任务时,可以通过以下方式设置内存和CPU:
1. 通过--yarn-properties参数设置yarn的参数。示例命令:
```
yarn per-job -m 4g -yD yarn.app.mapreduce.am.resource.cpu-vcores=2 -yD yarn.app.mapreduce.am.resource.memory-mb=4096
```
上述命令设置了flink任务的内存为4G,yarn的CPU核心数为2,yarn的内存为4096M。可以根据实际需要进行修改。
2. 通过flink-conf.yaml文件设置flink的参数。示例内容:
```
jobmanager.memory.process.size: 1024m
taskmanager.memory.process.size: 2048m
```
上述设置将jobmanager的内存设置为1G,taskmanager的内存设置为2G。可以根据实际需要进行修改。
注意:以上两种方式只能选择其中一种进行设置,否则会出现参数冲突的问题。
阅读全文