也许这是一个愚蠢的问题…但无论如何…
我如何理解次要namenode做了一些事情(我的意思是它工作),我必须配置它做一些事情?
MapReduce中的作业默认是并行运行的,我的意思是你在MR中编写的程序总是并行运行的?
我提出这些问题是因为我必须证明(我有一个项目要做)hadoop上的工作是并行运行的。
提前谢谢你。
p。S:对不起,我的英语不好,希望你能理解。
当您配置Hadoop时,您将某些机器的hostname
放入/conf/masters
。这是SNN运行的地方。你可以到那台机器的终端发出JPS。这将显示当前正在运行的所有java处理。您应该能够看到SecondaryNameNode以及其他进程。像这样:
apache@hadoop:~$ jps
21615 TaskTracker
21268 SecondaryNameNode
21014 DataNode
27656 HRegionServer
21362 JobTracker
19908 org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
17643 Jps
27364 HMaster
28451 Main
27194 HQuorumPeer
29811 RunJar
20744 NameNode
交叉检查,你可以把它改变到其他机器,看看效果。或者,您可以通过SNN端口检查它,默认情况下是50090。这有意义吗?
当您运行MR作业时,您可以通过将web浏览器指向jobtracker_machine:50030
来打开mapreduce webUI
。在这里,您可以看到正在运行(或以前运行过)的所有作业的列表,以及为特定作业创建的映射器/reducer的总数。您可以单击一个作业,它将显示当前在集群上运行的所有映射器和reducer。你可以看到每个mapper/reducer的进度。所有这些映射器/reducer在不同的机器上并行运行。为了验证您是否可以单击每个mapper,它将显示该特定mapper/reducer正在运行的机器以及每个mapper/reducer的完成百分比。
HTH