Hadoop端口澄清

时间:2013-11-12 19:44:44

标签: hadoop mapreduce yarn

我正在学习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 health)的其他端口。其他人只是不回复任何信息?

2)在yarn-default.xml中都是资源管理器端口,区别在于一个是webapp端口。只有当我点击localhost:8088时,它才会给出集群(本例中是单节点)信息。那么端口8083是什么?在示例代码中,我看到8083是RM端口。我不清楚。有人可以解释一下

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

4)如何查看appmaster,jobtracker,tasktracker ports

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

我正在做这些基本问题的噩梦......

谢谢, 阿米特

4 个答案:

答案 0 :(得分:2)

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

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

  

1)localhost:50070只返回一些含义完整数据(hdfs health)的其他端口。其他人只是不回复任何信息?

我将以您提供的详细信息解释它,以避免混淆。

其余端口也用于从浏览器连接,如localhost:50075用于查看datanode详细信息,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 ports

我实际上无法理解你的问题。如果您打算询问的是关于webui的,我们已经在问题1的答案中介绍了它。

  

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

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

如果我在某处出错,有人可以纠正我。

谢谢和问候, Bibin

答案 1 :(得分:0)

Amit,有很多端口被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移动)。请记住,纱线和MR可以在同一个集群上运行。有些发行版都有。

答案 2 :(得分:0)

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

  • 8088群集指标
  • 50070 HDFS / datanode health
  • 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以激活这些端口。

此外,您需要修改值&#34; localhost&#34;在hadoop-2.6.5/etc/hadoop/yarn-site.xml中说0.0.0.0而不是localhost,以使portforwarding 8088工作。确保您的dfs,yarn和historyservices也已启动。

答案 3 :(得分:0)

对于Hadoop 3,它更改为:

HDFS /数据节点运行状况:http://localhost:9870/