我是在使用Spark读取HDFS的时候遇到这个问题的,通过查阅网上资料,结合自己的学习,写一下自己是怎么解决的。
网上大多的部分资料都是NameNode没有启动,但是我查了一下我的系统,NameNode已经启动,但是DataNode没有启动。结合林子雨老师的学习资料(Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0(2.7.1)/Ubuntu14.04(16.04)),写一下DataNode怎么启动。
若是 DataNode 没有启动,可尝试如下的方法(注意这会删除 HDFS 中原有的所有数据,如果原有的数据很重要请不要这样做):
#针对 DataNode 没法启动的解决方法
cd /usr/local/hadoop
./sbin/stop-dfs.sh # 关闭
rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
./bin/hdfs namenode -format # 重新格式化 NameNode
./sbin/start-dfs.sh # 重启
查询自己Hadoop的NameNode和DataNode是否启动:
cd /usr/local/hadoop
jps