flink on yarn 搭建完成之后提交官方jar包测试,在提交第一个任务的时候是OK的,但是在提交第二个任务的时候,任务一直处于accept状态。然后就开始查原因
log日志是正常的,flink后端的日志也是正常的
一开始百度查看各种文章
- zookeeper未正常启动
- flink-conf.yaml中的cluster_id配置未注释
发现都不是这些问题,然后查看任务在yarn的状态
yarn application -status $app_id
这里问题就出现了,发现是队列的资源不足导致了,于是查看了相关官方文档,发现是etc/hadoop/capacity-scheduler.xml
里面的一个配置出现了问题
<property>
<name>yarn.scheduler.capacity.maximum-am-resource-percent</name>
<value>0.1</value>
<description>
Maximum percent of resources in the cluster which can be used to run
application masters i.e. controls number of concurrent running
applications.
</description>
</property>
具体的配置可以在官网中查看,这里附上相关链接
https://hadoop.apache.org/docs/r3.2.2/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html
这里意思是集群中可用于运行应用程序主机的最大资源百分比 - 控制并发活动应用程序的数量。每个队列的限制与其队列容量和用户限制成正比。官方文档默认是每个队列最大使用10%的资源,把这里的0.1按需更改最大使用的资源数就行了
完成!!!