使用 yarn-per-job 模式提交 cdc sql 后 yarn状态显示accepted? 但是yarn 资源很足,不像是资源不够
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
当您使用yarn-per-job
模式提交CDC SQL作业后,发现YARN状态长时间显示为ACCEPTED
,尽管YARN资源充足,这可能由以下几个原因导致:
队列配置限制:检查您的作业是否被提交到了一个具有特定资源限制的队列上。即使整个集群资源充足,但如果该队列的资源配置(包括AM资源和EXECUTOR资源)不足以立即运行您的作业,也会出现此情况。
AM资源分配问题:确认YARN中Application Master (AM) 的资源分配比例是否恰当。如果AM资源占比设置过低,可能导致虽然有资源但无法满足AM启动需求,从而任务无法从ACCEPTED
状态转为RUNNING
状态。考虑调整yarn.scheduler.capacity.maximum-am-resource-percent
配置项以增加AM可用资源比例。
Diagnostics信息:在YARN Web UI中查看该任务的详细信息,特别是Diagnostics部分,这里可能会提供具体原因,如“Queue's AM resource limit exceeded”等错误提示,有助于直接定位问题。
不健康节点:确保YARN集群中没有不健康的节点(Unhealthy Nodes),因为这些节点的资源虽然可见,但实际上不可用,可能影响任务调度。
Spark或YARN服务配置:确认Spark作业提交模式及内存配置是否合理。例如,在Worker节点提交可以避免因Header节点资源紧张导致的问题,同时需注意Launcher消耗内存与Job实际消耗内存的总和应不超过队列可提供的资源上限。
其他系统层面因素:检查是否有系统级的限制或配置不当,比如安全策略、网络问题或YARN自身的配置问题,这些都可能间接影响到作业的正常调度。
解决步骤建议如下: - 首先,通过YARN Web UI检查任务的Diagnostics信息。 - 调整队列或AM资源分配比例,根据实际情况适当提高AM资源百分比。 - 确认所有节点健康且资源真正可用。 - 检视并调整Spark作业的提交模式和内存配置,确保资源请求与队列配置相匹配。 - 如果以上步骤均未解决问题,深入检查YARN和Spark的日志文件,寻找更具体的错误信息进行进一步分析。
请按照上述步骤排查,并针对性地进行调整或优化。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。