Hadoop在linux下无法启动DataNode解决方法

最近重新捡起了Hadoop,所以博客重新开张~

首先描述一下我的问题:这次我使用eclipse在Ubuntu上运行hadoop程序。首先,按照厦门大学数据库实验室的eclipse下运行hadoop程序的教程配置好了eclipse,然后在命令行启动Hadoop。在eclipse界面中,有input文件夹,右键这个文件家有一个Upload files to DFS,通过这个上传之后,发现上传的文件大小为0.0。

《Hadoop在linux下无法启动DataNode解决方法》

解决方法:

首先提一句真是粗心毛病一定要改。。。。在命令行的启动hadoop的时候没有仔细看各个节点是否都启动,结果后来才发现是DataNode节点未启动;

下面说一下DataNode无法启动可能出现的情况:

注:下面讲的情况都可以根据/usr/local/hadoop/logs/hadoop-hadoop-datanode-king-Lenovo.log(king-lenovo是我的计算机名称)中查看到

1. 在日志中报错:  2015-06-11 16:11:06,822 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Invalid dfs.datanode.data.dir /usr/local/hadoop/dfs/data

这个错误通常是/usr/local/hadoop/dfs/data这个文件夹有锁,即访问权限不够。

解决方法是修改文件夹权限:chomd g-w /usr/local/hadoop/dfs/data

 

2. 日志中报错:java.io.IOException: Incompatible clusterIDs in /usr/local/hadoop/dfs/data: namenode clusterID = CID-c1bf781c-d589-46d7-a246-7f64a6f24bc1; datanode clusterID = CID-b1ee6a5b-aa39-4e9e-b849-ee7c4650989b

这个错误的意思是namenode的clusterID与datanode的clusterID不一致,这通常是多次格式化节点造成的。

解决方法是将两处ID改成一致的。namenode clusterID在/usr/local/hadoop/dfs/name/current/VERSON中,datanode clusterID在/usr/local/hadoop/dfs/data/current/VERSON中,将其中一处修改为和另一个一致即可。

之后重启hadoop即可。

    原文作者:king@nuaa
    原文地址: https://www.cnblogs.com/kingatnuaa/p/4592989.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞