赞
踩
先说结论吧,一般在网上搜索这个问题都是让重新格式化namenode(当然,格式化之前要记得清空namenode和DataNode文件夹)。但是对于我之前遇到的问题却没法解决。我的做法是:检查你的hadoop的配置文件是否填写正确,我的hadoop的hdfs-site.xml中的主机IP地址未填写正确,导致启动集群服务后namenode启动不上,hdfs当然也没法用。
我的虚拟机会产生这个问题主要是虚拟机的IP地址发生了改变,在这里我简单记录一下发生这种问题怎么处理,也方便我日后参阅。
1.首先查明每台虚拟机的IP地址,修改 etc/hosts文件。
2.保证每台虚拟机能互ping,ssh免密码登录可以使用。
3.修改hadoop文件夹中 etc/hadoop中的core-site.xml、hdfs-site.xml、和zookeeper文件夹(如果安装了zookeeper的话)中的zoo.cfg 文件
4.格式化节点(hadoop-2.9.2/bin/hdfs namenode -format),如果所有虚拟机的IP地址都发生了改变,那么就都要格式化,格式化之前要记得清空namenode和DataNode文件夹,并修改namenode和DataNode文件夹的权限(chmod 777 namenode)
5.最后再启动集群 hadoop-2.9.2/sbin/start-all.sh,以后关闭集群最好使用stop-all.sh
6.先试试用命令上传文件到hdfs是否成功(hadoop-2.9.2/bin/hdfs dfs -put student.txt /tmp/),然后再试着用浏览器访问虚拟机50070端口,如果都能调试成功再试着用java或者python等脚本操作hdfs。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。