2014-02-26 43 views
2

我在最多8个任务和16个内核的YARN群集上运行Hadoop任务。 当我运行这个工作时,我看到在一个节点上运行了8个任务,但所有16个内核都被使用了。 地图任务是多线程的吗? 地图任务使用多于1个核心? 我可以知道哪些核心使用了每个地图任务?每个Hadoop映射任务使用多少个核心?

感谢, 阿萨夫

回答

2

可以为每个地图的内核数量,以及可使用的最大内核数 - 见here

这个问题听起来有点混淆,所以,一些细节可能是相关的:

任务可以做更多的不仅仅是运行图,如果你正在运行的Hadoop,你可能会使用核心与系统中的其他内容(也就是说,某些其他进程正在使用内核)。

一个映射任务可能会使用多个映射器来完成它的工作 - 这是使用hadoop和MR架构的一部分 - 您的工作将会为您自动分配和分配。

另外,请注意,您的任务数量与映射程序,内核或其他正在使用的资源数量没有直接关系;如果你想要做的是限制CPU使用率,或者以任何其他方式控制资源分配,请更改容器的属性。


对于资源分配的一个更详细的讨论(特别是相对于MR1时)see here