【问题标题】:SecondaryNamenode and MapReduce jobsSecondaryNamenode 和 MapReduce 作业
【发布时间】:2013-06-18 20:17:00
【问题描述】:

也许这是个愚蠢的问题……但无论如何……

我如何理解辅助 namenode 做了某事(我的意思是它有效),我必须配置它来做某事?

MapReduce 中的作业也默认并行运行,我的意思是你在 MR 中的程序总是并行运行?

我提出这些问题是因为我必须证明(我有一个项目要做)hadoop 上的作业是并行运行的。

提前谢谢你。

P.S:对不起,我的英语不好,希望我能理解。

【问题讨论】:

    标签: hadoop mapreduce


    【解决方案1】:

    Yon,当您配置 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。在这里,您可以看到您正在运行的所有作业(或您之前运行过的作业)的列表,以及为特定作业创建的映射器/缩减器的总数。您可以单击一个作业,它将显示当前在您的集群上运行的所有映射器和减速器。你可以在那里看到每个映射器/减速器的进度。所有这些映射器/缩减器在不同的机器上并行运行。为了验证您是否可以单击每个映射器,它将向您显示该特定映射器/减速器正在运行的机器以及每个映射器/减速器的完成百分比。

    HTH

    【讨论】:

    • 谢谢你...我有三个节点,1 个主节点(主节点也是从节点)和两个从节点,在 /conf/masters 的所有节点中,我只输入了主节点的主机名。你的意思是我必须把奴隶主机名也放进去......?
    • 不客气。不需要。从机的主机名仅在 /conf/slaves 中是必需的。根据您当前的设置,SNN 正在您的主机上运行。单独指定 SNN 需要 /conf/masters。
    • 所以我没关系...我还有一个问题要问你,因为我是 hadoop 的新手,还在学习,这是伪模式和完整模式之间的区别集群?伪模式与单模式相同再次感谢!
    • 例如,如果您将 slave1 的主机名放入 /etc/masters 文件,则 SNN 将在 slave1 机器上运行。
    • 没有问题。在伪模式下,所有 hadoop 守护进程(NN、SNN、JT、DN、TT)将在不同的 JVM 中运行,但在单个机器上,而在完全分布式集群中,所有这些守护进程将在不同的 JVM 和不同机器上运行。跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多