当前位置: 首页 > 知识库问答 >
问题:

文件jobtracker.info只能复制到0个节点,而不是1个节点

吕霍英
2023-03-14

我正在尝试在Fedora17上设置Hadoop集群。当我给出/bin/star-all.sh命令时,主节点和从节点上的守护进程开始启动。但是当我在主节点上查看数据节点的日志文件时,我得到的是下面的EROOR

错误org.apache.hadoop.security.usergroupInformation:PriviledgedActionException as:Hadoop1原因:java.io.ioException:File/home/hadoop1/mapred/system/jobtracker.info只能复制到0个节点,而不是1个节点

2013-03-23 15:37:08,205 INFO org.apache.hadoop.IPC.Server:9100上的IPC服务器处理程序5,从127.0.0.1:40173调用addBlock(/home/hadoop1/mapred/system/jobtracker.INFO,DFSClient_-838454688,null):错误:java.io.ioexception:File/home/hadoop1/mapred/system/jobtracker.INFO,null:File/home/hadoop1/mapred/system/jobtracker.INFO只能复制He.hadoop.hdfs.Server.namenode.fsnamesystem.getAdditionalBlock(fsnamesystem.java:1558)在org.apache.hadoop.hdfs.namenode.namenode.addBlock(namenode.java:696)在sun.reflect.nativeMethodAccessorImpl.invoke0(原生方法)在sun.reflect.nativeMethodAccessorImpl.invoke(nativeMethodAccessorImpl.java:57)在在org.apache.hadoop.IPC.rpc$Server.call(rpc.java:563),地址为org.apache.hadoop.IPC.Server$handler$1.run(server.java:1388)在org.apache.hadoop.ipc.server$handler$1.run(server.java:1384)在java.security.accessController.doprivileged(本机方法)在javax.security.auth.subject.doas(subject.java:415)在org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation.java:1121)在

我也在尝试运行wordcound程序。在使用命令将数据复制到HDFS时

$bin/hadoop dfs-copyfromlocal/home/hadoop1/documents/wordcount//home/hadoop1/hdfs/data

警告hdfs.dfsclient:DataStreamer异常:org.apache.hadoop.ipc.remoteException:java.io.ioException:File/home/hadoop1/hdfs/data/wordcount/pg20417.txt只能复制到0个节点,而不是在org.apache.hadoop.hdfs.server.namenostem.getAdditionalBlock(fsnamesystem.java:1558)和在sun.reflect.delegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43),在java.lang.reflect.Method.invoke(Method.java:601),在org.apache.hadoop.ipc.rpc$server.call(rpc.java:601),在org.apache.hadoop.ipc.rpc$server.call(rpc.java:563),在org.apache.hadoop.ipc.server$handler$1.run(server.java:1388),.apache.hadoop.security.usergroupinformation.doas(usergroupinformation.java:1121)位于org.apache.hadoop.ipc.sERVER$handler.run(server.java:1382)

at org.apache.hadoop.ipc.Client.call(Client.java:1070)
at org.apache.hadoop.ipc.RPC$Invoker.invoke(RPC.java:225)
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:601)
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:3510)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.nextBlockOutputStream(DFSClient.java:3373)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream.access$2600(DFSClient.java:2589)
at org.apache.hadoop.hdfs.DFSClient$DFSOutputStream$DataStreamer.run(DFSClient.java:2829)

13/03/23 15:41:05警告HDFS.DFSClient:块null错误数据阳极[0]节点==null 13/03/23 15:41:05警告HDFS.DFSClient:无法获取块位置。源文件“/home/hadoop1/hdfs/data/wordcount/pg20417.txt”-中止...copyfromlocal:java.io.ioException:文件/home/hadoop1/hdfs/data/wordcount/pg20417.txt只能复制到0个节点,而不是1 13/03/23 15:41:05错误hdfs.dfsclient:异常关闭文件/home/hadoop1/hdfs/data/wordcount/pg20417.txt:org.apache.hadoop.ipc.remoteException:java.io.Exception:文件namesystem.getAdditionalBlock(fsnamesystem.java:1558)在org.apache.hadoop.hdfs.server.namenode.namenode.addblock(namenode.java:696)在sun.reflect.generatedMethodAccessor5.invoke(未知源)在sun.reflect.delegatingMethodAccessorImpl.invoke(delegatingMethodAccessorImpl.java:43)在.java:1388)位于org.apache.hadoop.ipc.server$handler$1.run(server.java:1384)位于java.security.accessController.doprivileged(本机方法),地址为javax.security.auth.subject.doas(Subject.java:415),地址为org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation.java:1121),地址为org.apache.hadoop.ipc.server$handler.run(server.java:1382)

感谢在这方面的帮助…

共有1个答案

端木存
2023-03-14

我设法解决了这个问题...

步骤I)在主节点和从节点机器上有防火墙活动。我通过命令“systemctl disable iptables.service”禁用了它。

第二步)在slave的core-sites.xml配置文件中,我错误地将“hdfs://localhost:9100”分配给了“fs.default.name”。我将其更改为“hdfs://master:9100”

 类似资料:
  • 问题内容: 我有3个数据节点在运行,在运行作业时出现以下错误提示, java.io.IOException:文件/ user / ashsshar / olhcache / loaderMap9b663bd9只能复制到0个节点,而不是minReplication(= 1)。有3个数据节点在运行,并且此操作中不包括3个节点。在org.apache.hadoop.hdfs.server.blockma

  • 问题内容: 我可以配置为将日志写在文件上,而不是在控制台上打印吗? 问题答案: 2013年更新- 围绕Node v0.2和v0.4编写;现在,围绕日志记录有更好的工具。我强烈推荐温斯顿 2013年末更新- 我们仍然使用winston,但现在有了记录器库,用于围绕自定义对象的记录和格式来包装功能。这是我们logger.js的示例 https://gist.github.com/rtgibbons/7

  • 我已经创建了一个XSLT,我想知道如何在一组标记之间复制所有节点,并在底部添加另一个标记。我创建了XSLT,它具有确定要添加哪个标记以及应该调用什么的所有逻辑。然而,我现在遇到的问题是,我不能复制所有其他标签了。以下是有关文件: XSLT 输入 电流输出 期望的产出

  • 我需要以下xslt代码方面的帮助。我的意见如下: 我的预期输出为: 我曾尝试使用*/text()获取值节点的值,但我只从第一个孩子获得文本。将来我有很多这样的子元素。 提前谢谢。 你好,Minakshi

  • 问题内容: C语言约定从0开始计数数组索引。为什么inode编号从1开始而不是0? 如果保留索引节点0供某些特殊用途,那么索引节点0的意义是什么? 问题答案: 通常,保留索引节点0,因为返回值0通常表示发生错误。Linux内核中的多种方法(尤其是在所有文件系统共享的VFS层中)均返回ino_t,例如find_inode_number。 还有更多保留的索引节点号。例如在ext2中: 和EXT3有:

  • 节点复制是另一种追踪式收集,在回收阶段和标记-清除采用了不同的策略,简单地说,标记-清除主动释放垃圾,而节点复制是将可达集拷贝出来,然后统一回收整块内存 前面说过,据统计80%~98%的对象在建立之后很快就会销毁,由此可以预见,在正常情况下,当启动垃圾回收的时候,可达集和垃圾集合是不成比例的,堆空间中很可能只有少部分的内容可达,剩下都是垃圾,标记-清除算法的时间和对象数量相关,而节点复制由于只拷贝