8

我正在学习 hadoop,对默认端口和位置有点困惑。

当我点击 URL 时:localhost:50070 给出了 hdfs 信息的结果。在 hadoop 文档中,以下是提到的一些端口。

hdfs-default.xml

dfs.datanode.http.address   0.0.0.0:50075 
dfs.datanode.address     0.0.0.0:50010
dfs.namenode.http-address    0.0.0.0:50070
dfs.namenode.backup.http-address    0.0.0.0:50105

mapred-default.xml

mapreduce.jobtracker.http.address   0.0.0.0:50030
mapreduce.tasktracker.http.address  0.0.0.0:50060

纱线-default.xml

yarn.resourcemanager.address     ${yarn.resourcemanager.hostname}:8032
yarn.resourcemanager.webapp.address  ${yarn.resourcemanager.hostname}:8088

现在在我的机器上配置 Hadoop 2 时,我做了: $ cd /usr/local/hadoop/etc/hadoop $ vi core-site.xml

<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>

问题:文档中的默认和其他 xml 中提到了很多端口....

1) localhost:50070 只返回一些有意义的完整数据(hdfs 健康),其他端口呢。其他人只是不返回任何信息?

2) 在 yarn-default.xml 中,两者都是资源管理器端口,区别之一是 webapp 端口。只有当我在浏览器中点击 localhost:8088 时,它才会提供集群(在这种情况下为单个节点)信息。那么8083端口是什么?在示例代码中,我看到 8083 是 RM 端口。我不清楚。有人可以解释一下吗

3)我将hdfs端口更改为9000是标准吗?

4)如何查看appmaster、jobtracker、tasktracker端口

5) 我认为在 yarn hadoop 2 中没有 jobtracker 和 tasktracker 那么这些端口的用途是什么?

我对这些基本问题做噩梦......

谢谢,阿米特

4

4 回答 4

2

Hadoop 提供 Web UI 以窥探 hadoop 集群。它们有助于通过浏览器了解集群的状态、作业详细信息(运行、失败)等。这是一个很大的解脱,因为我们不想记住所有这些命令并从终端尝试。您已经指出了这些所需的一些重要端口(这些是默认端口,您可以通过在配置文件中进行更改)。

现在我将一一回答你的问题。我假设 hadoop 在 core-site.xml 中处于伪模式查看。

1) localhost:50070 只返回一些有意义的完整数据(hdfs 健康),其他端口呢。其他人只是不返回任何信息?

我将使用您提供的详细信息进行解释以避免混淆。

其余端口也用于从浏览器连接,例如 localhost:50075 用于查看数据节点详细信息,localhost:8088 用于查看当前正在运行的作业、已完成的作业等。没有诸如 http-address、webapp.address 等详细信息的属性用于进程间通信 (IPC)。这些端口的示例是 8032、50010 等。

2) 在 yarn-default.xml 中,两者都是资源管理器端口,区别之一是 webapp 端口。只有当我在浏览器中点击 localhost:8088 时,它才会提供集群(在这种情况下为单个节点)信息。那么8083端口是什么?在示例代码中,我看到 8083 是 RM 端口。我不清楚。有人可以解释一下吗

我希望我已经在上面的答案中消除了这个疑问。

3)我将hdfs端口更改为9000是标准吗?

默认端口号为 8020。您可以保留任何端口号。但我不知道将其设置为 9000 是否是一个标准。我在一些供应商提供的除了 apache 之外的 hadoop 中看到了它。

4)如何查看appmaster、jobtracker、tasktracker端口

我实际上无法理解你的问题。如果你要问的是关于webui的,我们已经在问题1的回答中介绍过了。

5) 我认为在 yarn hadoop 2 中没有 jobtracker 和 tasktracker 那么这些端口的用途是什么?

据我了解,YARN 是介于 mapreduce 和 hadoop 之间的一层,用于更好地管理资源和作业。因此,这意味着 jobtracker 和 tasktracker 进程仍然存在(在后台),并在需要时由资源管理器和 nodemanager 进程使用。

如果我在某个地方出错了,有人可以纠正我。

谢谢和问候, 比宾

于 2015-08-07T09:09:43.157 回答
0

阿米特,有很多端口被 hadoop 监控,另外还有很多 hadoop 守护进程。每个都出于特定原因监视特定端口(您可以覆盖)。该文档列出了端口及其用途。例如,Hadoop 2 中的资源管理器 YARN 有一个用于监控作业提交的端口,即 yarn.resourcemanager.address。您可以在 conf/yarn-site.xml 中覆盖该端口(不要)。它还使用一个端口 yarn.resourcemanager.webapp.address 作为其用户界面,另一个端口 yarn.resourcemanager.admin.address 用于管理命令。同样,HDFS 监控 50070 作为其 Web 地址,并返回有关文件系统的信息。一般来说,不理会端口是个好主意,因为人们知道众所周知的端口号并期望它们(您不会期望默认端口 telnet 或 ftp 移动)。请记住,yarn 和 MR 可以在同一个集群上运行。一些发行版两者都有。

于 2013-11-17T00:37:53.757 回答
0

在使用 Hadoop 2.6.5 时,您正在寻找的三个主要端口是:

  • 8088 集群指标
  • 50070 HDFS/数据节点运行状况
  • 19888历史服务器

在你的 Vagrantfile 中,打开这三个端口进行端口转发:

config.vm.network "forwarded_port", guest: 8088, host: 8088
config.vm.network "forwarded_port", guest: 19888, host: 19888
config.vm.network "forwarded_port", guest: 50070, host: 50070

其他端口是服务端口的内部服务,不需要任何修改。您需要发出命令:vagrant reload --provision激活这些端口。

此外,您需要将值“localhost”修改为hadoop-2.6.5/etc/hadoop/yarn-site.xml0.0.0.0 而不是 localhost,以使端口转发 8088 工作。确保您的 dfs、yarn 和 historyservices 也已启动。

于 2017-09-13T19:16:34.703 回答
0

对于 Hadoop 3,它更改为:

HDFS/datanode 健康:http://localhost:9870/

于 2020-04-04T20:31:57.443 回答