公众号,人工智能AI之路,有全部文章合集,欢迎关注。

1. 问题现象
一个 spark streaming 的任务在通过 submit 提交之后,显示为 running 状态,但是实际对应的处理任务并没有被处理,相关 topic 还是处于堆积状态。
2. 定位解决
1.登录 spark streaming 的 web ui 界面,看 streaming 和 job tab 页,发现没有任务在执行。
2.进入 executor 页面,查看只分配了 driver ,没有分配其他的 executor
3.初步判断是资源调度出问题了,把问题抛给 AI
问:yarn 提交spark-submit之后为什么只有driver没有executor?
答:可能是由于以下原因导致提交的spark-submit只有driver没有executor:
资源不足:如果集群中的资源不足以支持启动executor,那么只会启动driver。可以通过增加集群的资源来解决这个问题。
配置问题:可能是由于配置文件中的某些参数设置不正确,导致executor无法启动。可以检查spark-submit命令中的参数以及集群的配置文件,确保配置正确。
代码问题:可能是你的代码中存在一些问题,导致executor无法启动。可以检查你的代码逻辑,确保没有错误。
4.可能是资源不足,看一下 yarn 调度集群的实例,果然有节点挂了,没有正常运行
5.看报错和服务器,提示没有磁盘空间,磁盘满了。
6.df -h 看根目录使用 96% 但是100%
7.下意识的想到 du 看一下每个磁盘的

本文介绍了在遇到Spark Streaming任务只分配了Driver而无Executor的情况时,如何进行问题定位和解决。从检查Spark UI、资源调度、配置、代码问题到深入排查YARN集群资源、磁盘空间,再到利用AI辅助解决问题,最终揭示了Linux下磁盘占用100%的可能原因和定位方法。同时,强调了Linux内核中文件计数器的概念,并分享了解决资源占用问题的小技巧。
最低0.47元/天 解锁文章
2795





