【发布时间】:2013-12-04 17:30:38
【问题描述】:
我正在运行一个具有不同数量的映射器和减速器的 MR 程序,以测试执行时间如何变化。我到了可以设置拆分大小以更改映射器数量的地步,并且我看到执行时间发生了一些变化。 我正在使用远程机器(具有超线程的四核)。 Hadoop版本:1.2.1 输入文件大小:1GB
所以,我现在要做的是验证 MR 是否真的按照我的配置运行。
例如,我将拆分大小设置为大约 250MB,这样我就有四个映射器。 在输出文件(_logs/history/job....)中,我看到它说
TOTAL MAP TASKS = 4
LAUNCHED MAP TASKS = 4
FINISHED MAP TASKS = 4
DATA-LOCAL MAP TASKS = 1
(1) 在这种情况下,我可以说使用了四个核心(四个映射器)吗?
(2) 当我运行 TOP 时,我只看到两个 Java 进程和两个 python 进程(MR 程序是用 python 编写的)。即使我期望有 4 个映射器或 8 个映射器,我总是只看到两个 Java 进程。 这是否意味着我没有使用其他内核?
【问题讨论】:
-
如果你有一台4核的远程机器,这意味着一个节点,而不是四个。