Hadoop:提交作业后客户端的CPU负载很高

时间:2011-09-25 14:15:37

标签: client hadoop jobs cpu-usage

在筛选一些Hadoop指南时,我无法找到问题的答案:我通过客户端计算机上的shell脚本一次性提交各种Hadoop作业(最多200个)。每个作业都是通过JAR(非常大,大约150 MB)启动的。在提交作业之后,客户端计算机具有非常高的CPU负载(每个核心100%)并且RAM变得非常快。这样,客户端就不再可用了。我认为每个作业的计算完全在Hadoop框架内完成,并且只有一些状态信息在作业运行时在集群和客户端之间交换。

那么,为什么客户完全伸展了?我是以错误的方式承诺Hadoop工作吗?每个JAR都太大了吗?

提前致谢。

1 个答案:

答案 0 :(得分:2)

这不是关于罐子的。客户端正在计算InputSplits。 因此,当每个作业具有大量输入文件时,客户端计算机可能会承受很大的负担。 但我想在提交200个作业时,jobtracker上的RPC Handler存在一些问题。 jobtracker上有多少个RPC处理程序处于活动状态?

无论如何,我会一次批量提交10到20份工作并等待完成。我猜你有默认的FIFO调度程序?因此,您无法一次性提交所有200个工作岗位。