没有数据节点启动 [英] No data nodes are started

查看:119
本文介绍了没有数据节点启动的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图使用以下指南在伪分布式配置中设置 Hadoop版本0.20.203.0

http://www.javacodegeeks.com/2012/01/hadoop-modes-explained-standalone.html



运行 start-all.sh 脚本后,我运行jps。



我得到这个输出:

  4825 NameNode 
5391 TaskTracker
5242 JobTracker
5477 Jps
5140 SecondaryNameNode

当我尝试添加信息时到hdfs使用:

  bin / hadoop fs -put conf输入

我遇到了一个错误:

  hadoop @ m1a2:〜 /软件/ Hadoop的$斌/ Hadoop的FS -put的conf输入
12/04/10 18时15分31秒WARN hdfs.DFSClient:DataStreamer异常:org.apache.hadoop.ipc.RemoteException:java.io.IOException异常:文件/user/hadoop/input/core-site.xml co uld只能复制到0节点,而不是1
,位于org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1417)
位于org.apache.hadoop.hdfs .Server.namenode.NameNode.addBlock(NameNode.java:596)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.hadoop.ipc.RPC $ Server.call(RPC.java:523)
在org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1383)
在org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1379)
在java.security.AccessController.doPrivileged(本地方法)$ b $在javax.security.auth.Subject.doAs(Subject.java:416)
在org.apache.hadoop.security.UserGroupInformation。 doAs(UserGroupInformation.java:1059)
在org.apache.hadoop.ipc.Ser ver $ Handler.run(Server.java:1377)

位于org.apache.hadoop.ipc.Client.call(Client.java:1030)
位于org.apache.hadoop。 ipc.RPC $ Invoker.invoke(RPC.java:224)
at $ Proxy1.addBlock(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun。反射.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java: 616)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java: $ b $ at $ Proxy1.addBlock(Unknown Source)
at org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.locateFollowingBlock(DFSClient.java:3104)
at org.apache.hadoop .hdfs.DFSClient $ DFSOutputStrea m.nextBlockOutputStream(DFSClient.java:2975)
at org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.access $ 2000(DFSClient.java:2255)
at org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream $ DataStreamer.run(DFSClient.java:2446)

12/04/10 18:15:31 WARN hdfs.DFSClient:错误块恢复空null datanode [0]节点== null
12/04/10 18:15:31 WARN hdfs.DFSClient:无法获取块位置。源文件/user/hadoop/input/core-site.xml - 正在中止...
put:java.io.IOException:文件/user/hadoop/input/core-site.xml只能被复制到0节点,而不是1
12/04/10 18:15:31错误hdfs.DFSClient:异常关闭文件/user/hadoop/input/core-site.xml:org.apache.hadoop.ipc。 RemoteException:java.io.IOException:文件/user/hadoop/input/core-site.xml只能复制到0节点,而不是1
,位于org.apache.hadoop.hdfs.server.namenode.FSNamesystem .getAdditionalBlock(FSNamesystem.java:1417)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:596)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown源)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache .hadoop.ipc.RPC $ Server.call(RPC.java:523)
位于org.apache.hadoop.ipc.Server $ Handler $ 1。运行(Server.java:1383)
at org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1379)
at java.security.AccessController.doPrivileged(Native Method)在javax.security.auth.Subject.doAs(Subject.java:416)

在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
。在组织.apache.hadoop.ipc.Server $ Handler.run(Server.java:1377)

org.apache.hadoop.ipc.RemoteException:java.io.IOException:File / user / hadoop / input /core-site.xml只能在org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1417)
被复制到0的节点,而不是1个
。在有机.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:596)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke( DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.in voke(Method.java:616)
at org.apache.hadoop.ipc.RPC $ Server.call(RPC.java:523)
at org.apache.hadoop.ipc.Server $ Handler $ 1 .run(Server.java:1383)
at org.apache.hadoop.ipc.Server $ Handler $ 1.run(Server.java:1379)$ b $ java.util.AccessController.doPrivileged(Native Method )在javax.security.auth.Subject.doAs(Subject.java:416
)在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059

。在org.apache.hadoop.ipc.Server $ Handler.run(Server.java:1377)
$ b $ org.apache.hadoop.ipc.Client.call(Client.java:1030)
at org.apache.hadoop.ipc.RPC $ Invoker.invoke(RPC.java:224)
at $ Proxy1.addBlock(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method )
处sun.reflect.DelegatingMethodAccessorImpl.invoke sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
(委托MethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java:616)
在org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java: 82)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
at $ Proxy1.addBlock(Unknown Source)
at org.apache.hadoop .hdfs.DFSClient $ DFSOutputStream.locateFollowingBlock(DFSClient.java:3104)
at org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream.nextBlockOutputStream(DFSClient.java:2975)
at org.apache.hadoop .hdfs.DFSClient $ DFSOutputStream.access $ 2000(DFSClient.java:2255)
at org.apache.hadoop.hdfs.DFSClient $ DFSOutputStream $ DataStreamer.run(DFSClient.java:2446)

我不完全确定,但我相信这可能与datanode没有运行有关。



有人知道我做错了什么,或者如何解决这个问题lem?



编辑:这是datanode.log文件:

  2012-04-11 12:27:28,977 INFO org.apache.hadoop.hdfs.server.datanode.DataNode:STARTUP_MSG:
/ ***************** *******************************************
STARTUP_MSG:开始DataNode
STARTUP_MSG:host = m1a2 / 139.147.5.55
STARTUP_MSG:args = []
STARTUP_MSG:version = 0.20.203.0
STARTUP_MSG:build = http://svn.apache .org / repos / asf / hadoop / common / branches / branch-0.20-security-203 -r 1099333;由'oom'在星期三5月4日07:57:50 PDT 2011编辑
****************************** ****************************** /
2012-04-11 12:27:29,166 INFO org.apache。 hadoop.metrics2.impl.MetricsConfig:从hadoop-metrics2.properties加载的属性
2012-04-11 12:27:29,181 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter:MBean for source MetricsSystem,sub =统计已注册。
2012-04-11 12:27:29,183 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl:计划的10秒快照周期。
2012-04-11 12:27:29,183 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl:DataNode度量系统启动
INFO org.apache。 hadoop.metrics2.impl.MetricsSourceAdapter:注册源ugi的MBean。
2012-04-11 12:27:29,347 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl:源名称ugi已经存在!
2012-04-11 12:27:29,615错误org.apache.hadoop.hdfs.server.datanode.DataNode:java.io.IOException:/ tmp / hadoop-hadoop / dfs / data中的名称空间不兼容:namenode namespaceID = 301052954; datanode namespaceID = 229562149
at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:232)
at org.apache.hadoop.hdfs.server.datanode.DataStorage。在org.apache.hadoop.hdfs.server.datanode.DataNode.startDataNode(DataNode.java:354)$ or $ $ b $ org.apache.hadoop.hdfs.server处使用recoverTransitionRead(DataStorage.java:147)
。 datanode.DataNode<初始化>(DataNode.java:268)
。在org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1480)
。在org.apache .hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1419)
at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1437)
at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1563)
at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1573)

2012-04-11 12:27:29,617 INFO org.apache.hadoop.hdfs.server.datanod e.DataNode:SHUTDOWN_MSG:
/ *************************************** *********************
SHUTDOWN_MSG:在m1a2 / 139.147.5.55处关闭DataNode
********** ************************************************** /


解决方案

这里描述: http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/#java-io-ioexception-incompatible-namespaceids



从该页面:



目前,似乎有两种解决方法,如下所述。



解决方法1:从头开始

我可以证明以下步骤解决了此错误,但副作用不会让你快乐(我也不会)。我找到的原始解决方法是:


  1. 停止集群

  2. 删除数据目录有问题的DataNode:该目录由conf / hdfs-site.xml中的dfs.data.dir指定;如果你遵循本教程,相关目录是/ app / hadoop / tmp / dfs / data
  3. 重新设置NameNode的格式(注意:在此过程中,所有HDFS数据都会丢失!)

  4. 重新启动集群

删除所有HDFS数据并从头开始听起来不像是一件好事(可能在初始设置/测试期间可以),您可以尝试第二种方法。解决方法2:更新存在问题的DataNodes的名称空间ID / strong>



非常感谢Jared Stehler提供的建议。我还没有自己测试过,但随时可以尝试一下,并向我发送您的反馈。这种解决方法是微创,因为您只需编辑有问题的DataNode上的一个文件:
$ b


  1. 停止DataNode

  2. 在/ current / VERSION中编辑namespaceID的值以匹配当前NameNode的值

  3. 重新启动DataNode

如果您按照我的教程中的说明操作,相关文件的完整路径为:


NameNode:/ app / hadoop / tmp / dfs / name / current / VERSION

DataNode:/app/hadoop/tmp/dfs/data/current/VERSION

(背景:dfs.data.dir默认设置为



$ {hadoop.tmp.dir} / dfs / data,并且我们在本教程中将hadoop.tmp.dir设置为/ app / hadoop / tmp)。

>

如果您想知道VERSION的内容如何,​​下面是我的一个:


#内容/当前/版本



namespa ceID = 393514426

storageID = DS-1706792599-10.10.10.1-50010-1204306713481

cTime = 1215607609074



storageType = DATA_NODE

layoutVersion = -13


I am trying to setup Hadoop version 0.20.203.0 in a pseudo distributed configuration using the following guide:

http://www.javacodegeeks.com/2012/01/hadoop-modes-explained-standalone.html

After running the start-all.sh script I run "jps".

I get this output:

4825 NameNode
5391 TaskTracker
5242 JobTracker
5477 Jps
5140 SecondaryNameNode

When I try to add information to the hdfs using:

bin/hadoop fs -put conf input

I got an error:

hadoop@m1a2:~/software/hadoop$ bin/hadoop fs -put conf input
12/04/10 18:15:31 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/hadoop/input/core-site.xml could only be replicated to 0 nodes, instead of 1
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1417)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:596)
        at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:523)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1383)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1379)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:416)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1377)

        at org.apache.hadoop.ipc.Client.call(Client.java:1030)
        at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:224)
        at $Proxy1.addBlock(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
        at $Proxy1.addBlock(Unknown Source)
        at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3104)
        at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:2975)
        at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2000(DFSClient.java:2255)
        at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2446)

12/04/10 18:15:31 WARN hdfs.DFSClient: Error Recovery for block null bad datanode[0] nodes == null
12/04/10 18:15:31 WARN hdfs.DFSClient: Could not get block locations. Source file "/user/hadoop/input/core-site.xml" - Aborting...
put: java.io.IOException: File /user/hadoop/input/core-site.xml could only be replicated to 0 nodes, instead of 1
12/04/10 18:15:31 ERROR hdfs.DFSClient: Exception closing file /user/hadoop/input/core-site.xml : org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/hadoop/input/core-site.xml could only be replicated to 0 nodes, instead of 1
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1417)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:596)
        at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:523)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1383)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1379)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:416)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1377)

org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/hadoop/input/core-site.xml could only be replicated to 0 nodes, instead of 1
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1417)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:596)
        at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:523)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1383)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1379)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:416)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1059)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1377)

        at org.apache.hadoop.ipc.Client.call(Client.java:1030)
        at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:224)
        at $Proxy1.addBlock(Unknown Source)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
        at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
        at $Proxy1.addBlock(Unknown Source)
        at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3104)
        at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:2975)
        at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2000(DFSClient.java:2255)
        at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2446)

I am not totally sure but I believe that this may have to do with the fact that the datanode is not running.

Does anybody know what I have done wrong, or how to fix this problem?

EDIT: This is the datanode.log file:

2012-04-11 12:27:28,977 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting DataNode
STARTUP_MSG:   host = m1a2/139.147.5.55
STARTUP_MSG:   args = []
STARTUP_MSG:   version = 0.20.203.0
STARTUP_MSG:   build = http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-203 -r 1099333; compiled by 'oom' on Wed May  4 07:57:50 PDT 2011
************************************************************/
2012-04-11 12:27:29,166 INFO org.apache.hadoop.metrics2.impl.MetricsConfig: loaded properties from hadoop-metrics2.properties
2012-04-11 12:27:29,181 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source MetricsSystem,sub=Stats registered.
2012-04-11 12:27:29,183 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Scheduled snapshot period at 10 second(s).
2012-04-11 12:27:29,183 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: DataNode metrics system started
2012-04-11 12:27:29,342 INFO org.apache.hadoop.metrics2.impl.MetricsSourceAdapter: MBean for source ugi registered.
2012-04-11 12:27:29,347 WARN org.apache.hadoop.metrics2.impl.MetricsSystemImpl: Source name ugi already exists!
2012-04-11 12:27:29,615 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: java.io.IOException: Incompatible namespaceIDs in /tmp/hadoop-hadoop/dfs/data: namenode namespaceID = 301052954; datanode namespaceID = 229562149
        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:354)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.<init>(DataNode.java:268)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.makeInstance(DataNode.java:1480)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.instantiateDataNode(DataNode.java:1419)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.createDataNode(DataNode.java:1437)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.secureMain(DataNode.java:1563)
        at org.apache.hadoop.hdfs.server.datanode.DataNode.main(DataNode.java:1573)

2012-04-11 12:27:29,617 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down DataNode at m1a2/139.147.5.55
************************************************************/

解决方案

That error you are getting in the DN log is described here: http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-multi-node-cluster/#java-io-ioexception-incompatible-namespaceids

From that page:

At the moment, there seem to be two workarounds as described below.

Workaround 1: Start from scratch

I can testify that the following steps solve this error, but the side effects won’t make you happy (me neither). The crude workaround I have found is to:

  1. Stop the cluster
  2. Delete the data directory on the problematic DataNode: the directory is specified by dfs.data.dir in conf/hdfs-site.xml; if you followed this tutorial, the relevant directory is /app/hadoop/tmp/dfs/data
  3. Reformat the NameNode (NOTE: all HDFS data is lost during this process!)
  4. Restart the cluster

When deleting all the HDFS data and starting from scratch does not sound like a good idea (it might be ok during the initial setup/testing), you might give the second approach a try.

Workaround 2: Updating namespaceID of problematic DataNodes

Big thanks to Jared Stehler for the following suggestion. I have not tested it myself yet, but feel free to try it out and send me your feedback. This workaround is "minimally invasive" as you only have to edit one file on the problematic DataNodes:

  1. Stop the DataNode
  2. Edit the value of namespaceID in /current/VERSION to match the value of the current NameNode
  3. Restart the DataNode

If you followed the instructions in my tutorials, the full path of the relevant files are:

NameNode: /app/hadoop/tmp/dfs/name/current/VERSION

DataNode: /app/hadoop/tmp/dfs/data/current/VERSION

(background: dfs.data.dir is by default set to

${hadoop.tmp.dir}/dfs/data, and we set hadoop.tmp.dir

in this tutorial to /app/hadoop/tmp).

If you wonder how the contents of VERSION look like, here’s one of mine:

# contents of /current/VERSION

namespaceID=393514426

storageID=DS-1706792599-10.10.10.1-50010-1204306713481

cTime=1215607609074

storageType=DATA_NODE

layoutVersion=-13

这篇关于没有数据节点启动的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆