HDFS的默认Namenode端口是50070.但我在8020或9000的某些地方遇到过

时间:2014-04-04 06:32:48

标签: hadoop hdfs

当我设置hadoop群集时,我读取了在50070上运行的namenode并且我进行了相应的设置并且运行正常。

但在某些书籍中,我遇到了名称节点地址:

hdfs://localhost:9000/

hdfs://localhost:8020

设置namenode端口的正确数字究竟是什么?

10 个答案:

答案 0 :(得分:29)

namenode Web UI的默认地址为http://localhost:50070/。您可以在浏览器中打开此地址并查看名称节点信息。

namenode服务器的默认地址为hdfs://localhost:8020/。您可以通过HDFS api连接到它以访问HDFS。这是真实的服务地址。

答案 1 :(得分:28)

默认Hadoop端口如下:( HTTP端口,它们具有WEB UI):

Daemon                   Default Port  Configuration Parameter
-----------------------  ------------ ----------------------------------
Namenode                 50070        dfs.http.address
Datanodes                50075        dfs.datanode.http.address
Secondarynamenode        50090        dfs.secondary.http.address
Backup/Checkpoint node?  50105        dfs.backup.http.address
Jobracker                50030        mapred.job.tracker.http.address
Tasktrackers             50060        mapred.task.tracker.http.address

在内部,Hadoop主要使用Hadoop IPC(代表Inter Process Communicator)在服务器之间进行通信。下表显示了Hadoop使用的端口和协议。该表不包括上面提到的HTTP端口。

Daemon      Default Port        Configuration Parameter     
------------------------------------------------------------
Namenode    8020                fs.default.name         
Datanode    50010               dfs.datanode.address        
Datanode    50020               dfs.datanode.ipc.address                                    
Backupnode  50100               dfs.backup.address          

查看此链接了解详情:http://blog.cloudera.com/blog/2009/08/hadoop-default-ports-quick-reference/

答案 2 :(得分:3)

这是因为不同的hadoop配置和分布的默认值是不同的。 我们总是可以通过在core-site.xml中更改fs.default.name或fs.defaultFS属性来配置端口

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

对于Hadoop 1.0.4如果我不提及下面的端口号

<value>hdfs://localhost</value>

然后默认端口是8020.但是对于像.20这样的版本我读的是9000.所以它取决于你正在使用的hadoop版本。

但所有配置和分配都使用50070作为HDFS ui的标准端口号。

答案 3 :(得分:3)

要访问Hadoop WEB UI,您需要输入http://localhost:50075/ 虽然你的core-site.xml有http://localhost:9000,因为它适用于hdfs请求,50075是WEB UI的默认端口。

答案 4 :(得分:3)

9000是默认的HDFS服务端口。这没有Web UI.50070是默认的NameNode Web UI端口(尽管,在hadoop 3.0以上50070更新为9870)

答案 5 :(得分:2)

hadoop 3.x上namenode的默认端口是9870。有关详细信息,请参阅https://hadoop.apache.org/docs/r3.0.0/

答案 6 :(得分:1)

50070是namenode的默认UI端口。而8020/9000是namenode的Inter Process Communicator端口(IPC)。

参考IPC端口:https://en.wikipedia.org/wiki/Inter-process_communication

答案 7 :(得分:0)

50070是http的Namenode的默认UI端口。对于https其50470。 9000是IPC端口(Inter Process Communicator)。如果单击localhost:50070,则可以看到名称节点配置,其概述为9000(活动),而在本地主机:9000上,您将收到消息: &#34;看起来您正在向Hadoop IPC端口发出HTTP请求。这不是此守护程序上Web界面的正确端口。&#34;文件系统元数据操作所必需的。

答案 8 :(得分:0)

如果找不到网络界面,可以检查每个守护程序正在侦听的端口。例如,要检查NameNode正在监听的端口:

lsof -Pan -iTCP -sTCP:LISTEN -p `jps | grep "\sNameNode" | cut -d " " -f1`

这将为您提供类似于

的输出
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    4053   pi  275u  IPv6  45474      0t0  TCP *:9870 (LISTEN)
java    4053   pi  288u  IPv6  43476      0t0  TCP 127.0.0.1:9000 (LISTEN)

您会看到列出了*:9870,它是Web界面。


说明:

  • lsof -Pan -iTCP -sTCP:LISTEN -p <pid>列出所有TCP状态为LISTEN的网络文件。 -p按进程ID过滤列表。因此,通过在此命令后插入进程ID,您可以查看进程正在侦听的所有端口。
  • jps | grep "\sNameNode" | cut -d " " -f1获取NameNode的进程ID。

答案 9 :(得分:0)

还有其他HTTP端口将在服务器中运行以进行监视。例如:50070、8088、9870、9864、9868、16010、16030

无法通过Web浏览器访问Hadoop IPC(进程间通信器)端口(例如9000)。

您可以找到可通过以下命令在浏览器中访问的端口:

lsof -i -P -n | grep LISTEN

例如,我服务器中的端口为:

Hadoop群集-http://server-name:8088/cluster

Hadoop NameNode / DFS运行状况-http://server-name:9870/dfshealth.html#tab-overview

Hadoop DataNode-http://server-name:9864/datanode.html

Hadoop状态-http://server-name:9868/status.html

HBase主站状态-http://server-name:16010/master-status

HBase区域服务器-http://server-name:16030/rs-status