zoukankan      html  css  js  c++  java
  • Hadoop在linux下无法启动DataNode解决方法

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

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

    解决方法:

    首先提一句真是粗心毛病一定要改。。。。在命令行的启动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即可。

  • 相关阅读:
    OPC UA认识汇总
    linux内核铁三角-进程(任务)调度
    nginx配置文件
    git和coding的使用
    php处理mysql的结果集
    php中self和$this还有parent的区别
    Mysql练习题
    SEO优化
    css3 旋转 八仙桌
    laravel笔记
  • 原文地址:https://www.cnblogs.com/kingatnuaa/p/4592989.html
Copyright © 2011-2022 走看看