gpt4 book ai didi

java - 无法摆脱著名的DataStreamer异常:org.apache.hadoop.ipc.RemoteException:错误

转载 作者:行者123 更新时间:2023-12-02 21:48:01 26 4
gpt4 key购买 nike

我正在运行hadoop群集,其中Ubuntu主机作为主从服务器,虚拟机在其上作为另一个从属服务器运行(2节点群集)。

似乎应该在No data nodes are started上解决的问题的解决方案不适用于我。我尝试了那里介绍的两种解决方案。

似乎当我手动将受影响的datanode的 namespace ID等同于name节点时
并启动群集(链接文章中的解决方案2),我仍然遇到相同的错误(DataStreamer异常)。
接下来,datanode之一的日志显示相同的Incompatible namespaceIDs错误,但日志中显示的数据节点的命名空间ID与我的tmp / dfs / data / current / version文件中的存在不同(未更改且与tmp / dfs / name / current / version相同)

经过许多小时的调试,我仍然一无所知:(。

PS:

  • 从我的主机到奴隶
  • 没有连接问题
  • 当我使用start-dfs.sh启动集群时,两个节点上的datanodes都将启动,这只是为了澄清。
  • 将文件从本地复制到hdfs时遇到的错误。

  • 毕竟我做了一个简单的测试
  • 删除了主
  • 上的tmp / dfs / data和tmp / dfs / name文件夹
  • 删除了从属
  • 上的tmp / dfs / data
  • 使用hadoop namenode格式化namenode -format
  • 使用start-dfs启动了集群。所有节点
  • 它在主节点上正常启动,而datanode在从属节点上也启动
  • 现在运行了copyfromLocal命令,它给了我
    与以下
  • 相同的错误
  • 但这一次在任何datanode日志主或从属
  • 中都没有 namespace 不匹配错误

    14/05/04 04:12:54 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/dsingh/mysample could only be replicated to 0 nodes, instead of 1 at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920) at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783) 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:606) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)

    at org.apache.hadoop.ipc.Client.call(Client.java:1113) at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:229) at com.sun.proxy.$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:606) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:85) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:62) at com.sun.proxy.$Proxy1.addBlock(Unknown Source) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3720) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3580) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2783) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:3023)

    14/05/04 04:12:54 WARN hdfs.DFSClient: Error Recovery for null bad datanode[0] nodes == null 14/05/04 04:12:54 WARN hdfs.DFSClient: Could not get block locations. Source file "/user/dsingh/mysample" - Aborting... put: java.io.IOException: File /user/dsingh/mysample could only be replicated to 0 nodes, instead of 1 14/05/04 04:12:54 ERROR hdfs.DFSClient: Failed to close file /user/dsingh/mysample org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/dsingh/mysample could only be replicated to 0 nodes, instead of 1 at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1920) at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:783) 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:606) at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:587) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1432) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1428) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1190) at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1426)

    at org.apache.hadoop.ipc.Client.call(Client.java:1113) at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:229) at com.sun.proxy.$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:606) at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:85) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:62) at com.sun.proxy.$Proxy1.addBlock(Unknown Source) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.locateFollowingBlock(DFSClient.java:3720) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3580) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2783) at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:3023)



    任何线索都会帮助我。

    最佳答案

    在这个问题上工作了几个小时后。我终于放弃了,在我的知识 Realm 仍然没有解决它。]

    但是,好事是,我没有在同一台计算机上使用虚拟机作为从服务器,而是将另一台ubuntu计算机与我的主计算机连接起来,并且每件事都像魅力一样起作用:)
    我想这个问题可能与在我的情况下虚拟机中有限的虚拟内存分配有关(小于500Mb),并且我读到某个地方,集群中的每个节点都应至少有10 GB的可用空间来保持HDFS的快乐。 。

    如果可以的话,我带走了尝试在2台单独的计算机上使用hadoop群集,而不是在同一主机上使用虚拟机

    关于java - 无法摆脱著名的DataStreamer异常:org.apache.hadoop.ipc.RemoteException:错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23454590/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com