flink on yarn 模式,缺少资源,出现任务堵塞现象:
1.报错信息如下:
Application is added to the scheduler and is not yet activated. (Resource request: <memory:94208, vCores:48> exceeds maximum AM resource allowed).
Application is added to the scheduler and is not yet activated. (Resource request: <memory:94208, vCores:48> exceeds maximum AM resource allowed).
2.CDH显示任务排队如下:
任务堆积如下:
yarn资源使用情况如下:
由上图看出资源还有很多,但是任务却被死死卡住,与运维同志交流最终无果。于是查了很多资料:
最终得出结论:
1.applicationMaster分配资源太多,比如我们的就太大了
比如我们的就太大了
ApplicationMaster 虚拟 CPU 内核:yarn.app.mapreduce.am.resource.cpu-vcores =48
ApplicationMaster 内存 : yarn.app.mapreduce.am.resource.mb=92G
以上参数可以根据公司数据量适当调小:如
ApplicationMaster 虚拟 CPU 内核:yarn.app.mapreduce.am.resource.cpu-vcores =12
ApplicationMaster 内存 : yarn.app.mapreduce.am.resource.mb=23G
2.job提交到的队列资源分配
cdh上需要新建一个stream队列分配资源
如图:
之后提交任务到此队列:
下面展示一些 内联代码片
。
nohup flink run \
-m yarn-cluster \
-yjm 1024 \
-ytm 1024 \
-s hdfs:///flink/flink-checkpoints/1121c68351640eb8988cbabbe7f64345/chk-4362 \
-c com.zd.task.BaoTask \
-yqu root.streaming \
-ynm Flink-BaoTask \
/var/lib/hadoop-hdfs/bin/flink-pro/zhen-bao-realtime-1.0-SNAPSHOT.jar >flinkJob.log 2>&1 &
然后任务顺利跑通,资源合理分配。
到此问题解决,很奥里给