将CombineInputFormat用于大量输入文件时,Hadoop客户端运行缓慢

时间:2019-02-21 15:33:38

标签: java performance hadoop

我的工作总共需要读取 620k个文件,总共 4TB 。文件数量巨大,因此我使用 CombineFileInputFormat 通过将最大拆分大小设置为512MB来减少输入拆分的数量。但是,这似乎增加了客户端作业驱动程序的大量开销。

客户端驱动程序最初达到“超出了GC开销限制”,因此我给客户端程序提供了更多的堆空间。重新启动后,似乎内存问题已消失,但是客户端程序本身运行非常缓慢。它占用了我24个内核中几乎所有的cpu资源,并且已经运行了五个小时,但到目前为止仍未将作业提交到集群。我使用jstack来获取线程转储,看来它没有卡住,只是运行缓慢。线程转储为:

Thread dump

有人以前遇到过类似的问题吗?我搜索了几乎所有相关文章,但没有发现任何帮助。

0 个答案:

没有答案