Java 不能';无法正常启动hadoop数据节点

Java 不能';无法正常启动hadoop数据节点,java,hadoop,Java,Hadoop,我以前成功地启动了datanode,但当我今天尝试时,它显示了以下信息。听起来我还没有找到/home/hadoop/appdata/hadoopdata目录,但我确认我的计算机中已经存在该目录。那有什么问题?为什么我不能正常启动datanode 我试着删除/home/hadoop/appdata/和mkdir一个新的,但仍然不起作用 我还删除了/home/hadoop/tmp/hadoop\u tmp和mkdir一个新的,它仍然不起作用 2014-03-04 09:30:30,106 WARN

我以前成功地启动了datanode,但当我今天尝试时,它显示了以下信息。听起来我还没有找到/home/hadoop/appdata/hadoopdata目录,但我确认我的计算机中已经存在该目录。那有什么问题?为什么我不能正常启动datanode

我试着删除/home/hadoop/appdata/和mkdir一个新的,但仍然不起作用

我还删除了/home/hadoop/tmp/hadoop\u tmp和mkdir一个新的,它仍然不起作用

2014-03-04 09:30:30,106 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!

2014-03-04 09:30:30,349 INFO org.apache.hadoop.hdfs.server.common.Storage: Cannot access storage directory /home/hadoop/appdata/hadoopdata

2014-03-04 09:30:30,350 INFO org.apache.hadoop.hdfs.server.common.Storage: Storage directory /home/hadoop/appdata/hadoopdata does not exist

2014-03-04 09:30:30,453 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: 

java.io.IOException: All specified directories are not accessible or do not exist.

    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:139)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:414)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:321)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1712)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1651)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1669)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1795)
2014-03-04 09:30:30106警告org.apache.hadoop.metrics2.impl.metricsystemimpl:源名称ugi已存在!
2014-03-04 09:30:30349 INFO org.apache.hadoop.hdfs.server.common.Storage:无法访问存储目录/home/hadoop/appdata/hadoopdata
2014-03-04 09:30:30350 INFO org.apache.hadoop.hdfs.server.common.Storage:存储目录/home/hadoop/appdata/hadoopdata不存在
2014-03-04 09:30:30453错误org.apache.hadoop.hdfs.server.datanode.datanode:
java.io.IOException:所有指定的目录都不可访问或不存在。
位于org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:139)
位于org.apache.hadoop.hdfs.server.datanode.datanode.startDataNode(datanode.java:414)
位于org.apache.hadoop.hdfs.server.datanode.datanode.(datanode.java:321)
位于org.apache.hadoop.hdfs.server.datanode.datanode.makeInstance(datanode.java:1712)
位于org.apache.hadoop.hdfs.server.datanode.datanode.InstanceDataNode(datanode.java:1651)
位于org.apache.hadoop.hdfs.server.datanode.datanode.createDataNode(datanode.java:1669)
位于org.apache.hadoop.hdfs.server.datanode.datanode.secureMain(datanode.java:1795)
  • 停止所有hadoop服务

  • 删除dfs/namenode

  • 从从属设备和主设备中删除dfs/datanode
  • 检查Hadoop文件夹的前置任务: sudo chmod–R 755/usr/local/hadoop
  • 重启Hadoop
  • 检查/验证文件夹权限

    sudo chmod–R 755/home/hadoop/appdata

  • 如果仍然存在问题,请检查日志文件

  • 尝试格式化您的namenode **

    **
    您将清楚地了解哪些未按预期配置。

    启动正在运行的VM进程的用户在该目录中是否具有足够的权限?
    use hadoop namenode -format 
    or
    hdfs namenode -format