我们正在使用spark 2.4.5在kubernetes集群上运行spark流应用程序。应用程序通过Kafka主题接收大量数据(每3ms一条消息)。使用4个执行器和4个Kafka分区。
在运行时,驱动器pod的内存不断增加,直到它被k8s以“oomkilled”状态杀死。遗嘱执行人的记忆没有任何问题。
使用此命令检查驱动程序吊舱资源时:
kubectl top pod podName
我们可以看到内存一直增加到1.4gb,pod就要被杀死了。
但是,在检查spark ui上驱动程序的存储内存时,我们可以看到存储内存没有被充分利用(50.3kb/434mb)。驱动程序的存储内存和包含驱动程序的pod内存有什么区别吗?
以前有没有人遇到过类似的问题?
任何帮助都将不胜感激。
以下是有关该应用程序的更多详细信息:
kubernetes版本:1.18
spark版本:2.4.5
spark流上下文的批处理间隔:5秒
输入数据速率:每3ms 1条Kafka信息
scala语言
暂无答案!
目前还没有任何答案,快来回答吧!