hadoop集群启动但不能访问50070
分为两种情况
1.在虚拟机内linux系统中浏览器不能访问,
- 首先查看自己防火墙是否关闭
service iptables status
- 若未关防火墙
chkconfig iptables off
-
必须重启linux系统后检查防火墙状态
-
查看 vim /etc/hosts文件,看是否修改成功或相对应,最后浏览器验证是否能访问
2.在自己windows系统浏览器能用ip地址访问不能用自己定义的节点名访问
只需修改本机hosts文件,在hosts文件中添加 ip 节点名
如:192.168.23.128 node01
Hadoop配置环境变量
如果集群没有配置环境变量,开始结束等命令都需要先进入到/usr/local/hadoop目录中,再执行sbin/hadoop,实际上等同于运行/usr/local/hadoop/sbin/hadoop。可以将hadoop命令的相关目录加入到PATH环境变量中,这样就可以直接通过start-dfs.sh开启Hadoop,也可以直接通过hdfs访问HDFS的内容,方便平时的操作。
步骤:
- 打开环境变量
[root@node01 ~]# vim ~/.bashrc
- 对应自己的目录添加以下配置,保存退出
export PATH=$PATH:/usr/local/hadoop-2.6.5/sbin:/usr/local/hadoop-2.6.5/bin
在配置免密登录时,可能会遇到如下问题
Could not resolve hostname node01: Name or service not known
原因是,在虚拟机本机的hosts文件中没有添加相应的ip 和解析地址
// 在每一个节点( node01,node02,node03,node04)上执行以下命令
[root@node01 ~]# vim /etc/hosts
然后添加以下配置
192.168.23.128 node01
192.168.23.129 node02
192.168.23.130 node03
192.168.23.131 node04
启动集群时报错找不到 JAVA_HOME
查看jdk是否配置成功
[root@node01 ~]# cd /usr/local/hadoop-2.6.5/etc/hadoop/
重新配置jdk
[root@node01 hadoop]# vim hadoop-env.sh
// 将等号后面的修改为自己jdk安装目录
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_151/
在配置所有完成后启动报错
如果显示有错误,不管哪里有错误,解决方法为
首先停止集群
stop-dfs.sh
把core-site.xml中自己配置的文件夹删除
<property>
<name>hadoop.tmp.dir</name>
<value>/var/abc/hadoop/cluster</value>
</property>
执行删除命令
[root@node01 var]# rm -rf abc
之后重新格式化namenode
[root@node01 ~]#hdfs namenode -format
重新启动集群
[root@node01 ~]# start-dfs.sh