我已经在我的机器“Ubuntu 13.05”上安装了 Hadoop,现在浏览 localhost:50070 时出现错误,浏览器说该页面不存在。
12 回答
自 Hadoop 3.0.0 - Alpha 1 以来,端口配置发生了变化:
http://localhost:50070
被转移到
http://localhost:9870
端口 50070 在 3.0.0-alpha1 中更改为 9870
事实上,许多其他端口也发生了变化。看:
Namenode ports: 50470 --> 9871, 50070 --> 9870, 8020 --> 9820
Secondary NN ports: 50091 --> 9869, 50090 --> 9868
Datanode ports: 50020 --> 9867, 50010 --> 9866, 50475 --> 9865, 50075 --> 9864
首先,检查使用“jps”运行的 java 进程。如果您处于伪分布式模式,则必须具有以下过程:
- 名称节点
- 工作跟踪器
- 任务跟踪器
- 数据节点
- 次要名称节点
如果您缺少任何内容,请使用重新启动命令:
$HADOOP_INSTALL/bin/stop-all.sh
$HADOOP_INSTALL/bin/start-all.sh
也可能是因为你没有在机器上打开那个端口:
iptables -A INPUT -p tcp --dport 50070 -j ACCEPT
- 第 1 步:bin/stop-all.sh
- 第 2 步:bin/hadoop 名称节点格式
- 第 3 步:bin/start-all.sh
对于最近的 hadoop 版本(我使用的是 2.7.1)
start\stop 脚本位于该sbin
文件夹中。脚本是:
- ./sbin/start-dfs.sh
- ./sbin/stop-dfs.sh
- ./sbin/start-yarn.sh
- ./sbin/stop-yarn.sh
尽管让NameNodeServer实例运行,但我不必对yarn做任何事情。
现在我的错误是我没有格式化NameNodeServer HDFS。
bin/hdfs namenode -format
目前我不太确定那是做什么的,但它显然准备了NameNodeServer将用于操作的空间。
如果您可以打开http://localhost:8088/cluster但无法打开http://localhost:50070/。也许datanode没有启动或namenode没有形成。
Hadoop 版本 2.6.4
- 步骤1:
检查您的名称节点是否已格式化,如果没有,请键入:
$ stop-all.sh
$ /path/to/hdfs namenode -format
$ start-all.sh
- 第2步:
检查你的namenode tmp文件路径,查看in /tmp
,如果namenode目录在/tmp
,你需要设置tmp路径在core-site.xml
,因为每次重启或启动机器时,里面的文件/tmp
都会被删除,你需要设置一个tmp dir路径.
添加以下内容。
<property>
<name>hadoop.tmp.dir</name>
<value>/path/to/hadoop/tmp</value>
</property>
- 第 3 步:
检查步骤 2,停止 hadoop 并删除 namenode tmp dir in /tmp
,然后键入/path/to/hdfs namenode -format
,并启动 hadoop。这也是一个tmp
目录$HADOOP_HOME
如果以上都没有帮助,请在下方评论!
类似的问答在:Start Hadoop 50075 Port is not resolved
查看您的 core-site.xml 文件以确定它设置为哪个端口。如果为0,会随机选择一个端口,所以一定要设置一个。
安装配置Hadoop后,可以快速运行命令netstat -tulpn
找到打开的端口。在新版本的 Hadoop 3.1.3 中,端口如下:-
本地主机:8042 Hadoop,本地主机:9870 HDFS,本地主机:8088 YARN
在您的系统中启用用于 CentOS 7 的端口,请执行以下命令
1.firewall-cmd --get-active-zones
2.firewall-cmd --zone=dmz --add-port=50070/tcp --permanent
3.firewall-cmd --zone=public --add-port=50070/tcp --permanent
4.firewall-cmd --zone=dmz --add-port=9000/tcp --permanent
5.firewall-cmd --zone=public --add-port=9000/tcp --permanent 6.firewall-cmd --reload
尝试
namenode -format
start-all.sh
stop-all.sh
jps
查看namenode
并datanode
正在运行和浏览
localhost:50070
如果localhost:50070
仍然无法正常工作,那么您需要允许端口。所以,检查
netstat -anp | grep 50070
如果您正在运行旧版本的 Hadoop (hadoop 1.2),则会出现错误,因为http://localhost:50070/dfshealth.html 不会退出。检查http://localhost:50070/dfshealth.jsp哪个有效!
首先需要做的是启动 hadoop 节点和跟踪器,只需在您的终端上键入 start-all.sh 即可。要检查所有跟踪器和节点是否已启动,请编写“jps”命令。如果一切正常,请在浏览器中输入以下网址 http://localhost:50070