赞
踩
最近在搭建hadoop(2.7.3)环境时遇到了一件比较奇葩的问题。整个环境下JDK正常,hadoop配置文件正常,各个守护进程正常启动,防火墙已关闭,但是启动后无法从浏览器中访问50070、50030端口,显示无法访问,但是又可以访问8088端口。
启动后的守护进程
网上的主要解决方式是重新格式化namenode 即如下命令:
以下命令在hadoop安装目录下执行
sbin/stop-hdfs.sh
sbin/stop-yarn.sh
bin/hdfs namenode -format
sbin/start-hdfs.sh
sbin/start-yarn.sh
但以上方法并没有解决我的问题,并且通过上面的方式会造成datanode守护进程无法启动的。
重新格式化namenode之前需要清空dfs下的name和data文件夹以解决datanode无法启动的问题
最后发现可能是namenode初始化默认端口失效,于是决定手动修改配置文件设置默认端口
1.hdfs-site.xml 添加如下:
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
然后重新格式化namenode,启动hadoop。最终访问正常
0.0.0.0是本地对应的地址,具体情况视ip更换
50070 - Hadoop DFS 状态
(奇怪的是这种问题只出现在我安装的centos 7 Minimal上,同样在ubuntu 16.04中没有设置端口却可以正常访问,暂不清楚具体原因。)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。