最近在学习hadoop,记录一下这几天学习中遇到的问题:
1.虚拟机静态ip设置/静态ip设置后无法上网的问题
参见:https://blog.csdn.net/aafeiyang/article/details/81533542
2.集群启动后namenode无法显示的问题
大概率是格式化namenode前没有删除掉以前的data数据和log信息,最直白的方式就是先关闭集群,再去hadoopXXX.XXX下删除掉data和log信息,即下面两个文件夹:
删除后再重新格式化namenode,输入 hadoop namenode -format 即可
再群起集群即可:sbin/start-dfs.sh
检查namenode是否正常启动:jps
3.关于集群正常启动后 50070,50090等端口无法访问的问题
(1)首先检查防火墙是否关闭,我是把windows的防火墙和linux的防火墙都关闭了(不推荐,你可以采用开放端口的方式)
linux防火墙永久关闭指令(centOS 6.5):chkconfig iptables off
检查是否关闭:service iptables status
(2)若防火墙关闭仍无法访问上述端口,检查core-site.xml;hdfs-site.xml;yarn-site.xml,mapred-site.xml等是否配置完整正确,一定要细心,我50090端口折腾了一天,死活打不开,后来检查才发现是把“50090”在配置中写成了“50900”,啊,我要裂开了,为了这么个手误浪费一天时间;
(3)ok,若还是打不开50090或者50070端口
输入:netstat -ant查看端口是否正常运行
查看端口号前的ip地址,我出错后检查的是127.0.0.1(即localhost)地址,这样在浏览器是无法访问的(我也不知道为啥),然后索性吧/etc/hosts下的127.0.0.1那一串字符给删除了,加上<主机ip 主机>,再重启集群,就可以在浏览器正常访问了,找bug果然是玄学啊