前言
为什么今天来讨论这个话题呢?因为昨天遇到一个大坑,其实也不是算大坑吧,就是一件特别奇怪的事儿。
问题
不多bb,直接上图,在我提交sparkSQL和datax同步任务的时候发现部分任务报错如下:
部分任务OOM了,所在机器配置是物理内存为32G,我提交了20个任务......(datax同步任务有最大使用内存限制为1G、sparkSQL只有一个Driver端在服务器上面,没有设置,默认为1G)
spark官网默认配置如下:
那么这样算的话,提交20个任务,即占用内存20G,那么总共是32G,用了20,感觉很饱满啊???资源充足噻~
排查过程
经过排查后发现,linux的最大线程数为4096,猜