Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么在我运行hadoop时数据节点会关闭?_Java_Hadoop_Ioexception - Fatal编程技术网

Java 为什么在我运行hadoop时数据节点会关闭?

Java 为什么在我运行hadoop时数据节点会关闭?,java,hadoop,ioexception,Java,Hadoop,Ioexception,我在VirtualBox的Ubuntu11.0.4上安装了hadoop 1.0.4(与我的主机名相同),不知何故数据节点关闭,日志文件中出现以下错误 /************************************************************ STARTUP_MSG: Starting DataNode STARTUP_MSG: host = VirtualBox/127.0.1.1 STARTUP_MSG: args = [] STARTUP_MSG:

我在VirtualBox的Ubuntu11.0.4上安装了hadoop 1.0.4(与我的主机名相同),不知何故数据节点关闭,日志文件中出现以下错误

/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = VirtualBox/127.0.1.1
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 1.0.4
STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290; compiled by 'hortonfo' on Wed Oct  3 05:13:58 UTC 2012
************************************************************/
2013-08-18 19:52:21,301 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2013-08-18 19:52:21,394 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
2013-08-18 19:52:21,412 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2013-08-18 19:52:21,417 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started
2013-08-18 19:52:23,207 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2013-08-18 19:52:23,276 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!
2013-08-18 19:52:26,887 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /app/hadoop/tmp/dfs/data: namenode namespaceID = 457871323; datanode namespaceID = 2066655210
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:385)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:299)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1582)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1521)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1539)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1665)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1682)

2013-08-18 19:52:26,903 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at VirtualBox/127.0.1.1
************************************************************/
/************************************************************
STARTUP\u MSG:正在启动数据节点
STARTUP\u MSG:host=VirtualBox/127.0.1.1
启动消息:args=[]
启动消息:版本=1.0.4
启动\u消息:生成=https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1393290;由“hortonfo”于2012年10月3日星期三05:13:58 UTC编制
************************************************************/
2013-08-18 19:52:21301 INFO org.apache.hadoop.metrics2.impl.MetricsConfig:从hadoop-metrics2.properties加载的属性
2013-08-18 19:52:21394 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter:MBean for source MetricsSystem,sub=Stats registered。
2013-08-18 19:52:21412 INFO org.apache.hadoop.metrics2.impl.metricsystemimpl:计划的快照周期为10秒。
2013-08-18 19:52:21417 INFO org.apache.hadoop.metrics2.impl.metricsystemimpl:DataNode度量系统已启动
2013-08-18 19:52:23207 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter:源ugi的MBean已注册。
2013-08-18 19:52:23276警告org.apache.hadoop.metrics2.impl.metricsystemimpl:源名称ugi已存在!
2013-08-18 19:52:26887错误org.apache.hadoop.hdfs.server.datanode.datanode:java.io.IOException:namespaceIDs不兼容于/app/hadoop/tmp/dfs/data:namenode namespaceID=457871323;datanode namespaceID=2066655210
位于org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)
位于org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:147)
位于org.apache.hadoop.hdfs.server.datanode.datanode.startDataNode(datanode.java:385)
位于org.apache.hadoop.hdfs.server.datanode.datanode.(datanode.java:299)
位于org.apache.hadoop.hdfs.server.datanode.datanode.makeInstance(datanode.java:1582)
位于org.apache.hadoop.hdfs.server.datanode.datanode.InstanceDataNode(datanode.java:1521)
位于org.apache.hadoop.hdfs.server.datanode.datanode.createDataNode(datanode.java:1539)
位于org.apache.hadoop.hdfs.server.datanode.datanode.secureMain(datanode.java:1665)
位于org.apache.hadoop.hdfs.server.datanode.datanode.main(datanode.java:1682)
2013-08-18 19:52:26903 INFO org.apache.hadoop.hdfs.server.datanode.datanode:SHUTDOWN\u MSG:
/************************************************************
SHUTDOWN_MSG:正在关闭VirtualBox/127.0.1.1上的DataNode
************************************************************/

知道为什么吗?我如何修复它?

这通常是在格式化namenode而不进行datanode清理以及更改命名空间时产生的

可能的解决方案:


尝试删除/app/hadoop/tmp/dfs/data目录,然后重新启动datanode

这是格式化名称节点时众所周知的问题。请参阅以下网址:


这种情况我已经发生过好几次了。如果重新启动数据节点没有帮助,请执行以下操作:

  • 重启Hadoop
  • 转到/app/hadoop/tmp/dfs/name/current
  • 开放版本(即通过
    vim版本
  • 记录名称空间ID
  • 转到/app/hadoop/tmp/dfs/data/current
  • 开放版本(即通过
    vim版本
  • 用步骤4中记录的名称空间ID替换名称空间ID

  • 这应该可以解决问题。

    我在namenode上丢失了数据。 我必须用

    hadoop namenode -format
    
    启动namenode后,由于版本问题,datanode无法启动

    然后我还需要删除datanodes中的所有数据

    我可以简单地清理dfs(/{hadoop.tmp.dir}/dfs/data/*)中的数据文件夹并重新启动datanode

    Restart Hadoop
    Go to /app/hadoop/tmp/dfs/name/current
    Open VERSION (i.e. by vim VERSION)
    Record namespaceID
    Go to /app/hadoop/tmp/dfs/data/current
    Open VERSION (i.e. by vim VERSION)
    Replace the namespaceID with thve namespaceID you recorded in step 4.
    
    i、 e
    rm-rf/{hadoop.tmp.dir}/dfs/data/*

    删除版本文件(/{hadoop.tmp.dir}/dfs/data/current/VERSION)并 重新启动数据节点

    Restart Hadoop
    Go to /app/hadoop/tmp/dfs/name/current
    Open VERSION (i.e. by vim VERSION)
    Record namespaceID
    Go to /app/hadoop/tmp/dfs/data/current
    Open VERSION (i.e. by vim VERSION)
    Replace the namespaceID with thve namespaceID you recorded in step 4.
    
    要执行上述步骤,
    我在数据文件夹/tmp/data

    中没有任何文件,事实上,我是在发布后通过到那里解决的。无论如何,谢谢。我是在发布后通过阅读Micheal Gnoll的教程解决的。无论如何,谢谢你能帮我解决这个问题吗?你能帮我吗?stackoverflow.com/questions/19021982/hadoop-multi-node-cluster-installation-on-ubuntu-issue-trouble。我收到了类似的错误消息,我认为这是防火墙的问题,但我不能确定。请看一看。谢谢!:)感谢您一步一步的指导!