6

我正在尝试HadoopFedora 17. 当我给出/bin/star-all.sh命令时,守护进程正在主节点和从节点上启动。但是当我在主节点上查看数据节点的日志文件时,我得到以下 EROOR

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

2013-03-23 15:37:08,205 INFO org.apache.hadoop.ipc.Server:9100 上的 IPC 服务器处理程序 5,调用 addBlock(/home/hadoop1/mapred/system/jobtracker.info,DFSClient_-838454688,null)从 127.0.0.1:40173:错误:java.io.IOException:文件 /home/hadoop1/mapred/system/jobtracker.info 只能复制到 0 个节点,而不是 1 个 java.io.IOException:文件 /home/hadoop1 /mapred/system/jobtracker.info 只能复制到 0 个节点,而不是 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558) 的 org.apache.hadoop.hdfs 的 1 个节点.server.namenode.NameNode.addBlock(NameNode.java:696) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl。org.apache.hadoop.ipc.RPC$Server.call(RPC.java:563) 的 java.lang.reflect.Method.invoke(Method.java:601) 的调用(DelegatingMethodAccessorImpl.java:43) org.apache .hadoop.ipc.Server$Handler$1.run(Server.java:1388) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1384) at java.security.AccessController.doPrivileged(Native方法)在 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)在 org.apache.hadoop.security.UserGroupInformation.doAs( UserGroupInformation.java:1121) 在 org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)在 org.apache.hadoop.security.UserGroupInformation.doAs( UserGroupInformation.java:1121) 在 org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382)

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

$bin/hadoop dfs -copyFromLocal /home/hadoop1/Documents/wordcount/ /home/hadoop1/hdfs/data 我得到以下错误

WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /home/hadoop1/hdfs/data/wordcount/pg20417.txt 只能复制到 0 个节点,而不是 1 个在 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696) 在 sun.reflect .GeneratedMethodAccessor5.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.hadoop.ipc.RPC $Server.call(RPC.java:563) at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1388) at org.apache.hadoop.ipc.Server$Handler$1.run(Server .java:1384) 在 java.security.AccessController。doPrivileged(Native Method) at javax.security.auth.Subject.doAs(Subject.java:415) at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1121) at org.apache.hadoop.ipc。服务器$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)

23 年 3 月 3 日 15:41:05 警告 hdfs.DFSClient:块 null 坏数据节点 [0] 节点的错误恢复 == null 13/03/23 15:41:05 警告 hdfs.DFSClient:无法获取块位置。源文件“/home/hadoop1/hdfs/data/wordcount/pg20417.txt” - Aborting... copyFromLocal: java.io.IOException: File /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.IOException:文件 /home/hadoop1/hdfs/data/wordcount/pg20417.txt 只能复制到 0 个节点,而不是 org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem .java:1558) 在 org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:

在这方面的帮助表示赞赏..

4

4 回答 4

2

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

步骤 I) 主节点和从节点机器上的防火墙处于活动状态。我通过以下命令禁用它“systemctl disable iptables.service”

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

现在我的 Hadoop 集群已启动..

谢谢你克里斯的帮助...

于 2013-03-27T06:39:23.247 回答
1

我出现此错误的原因是磁盘空间不足(~200MB 不够)。

于 2013-10-22T23:41:57.993 回答
0

我删除了 HDFS 上的 jobtracker.info,然后它就可以工作了。Hadoop 似乎对其进行了改造

于 2013-08-07T07:35:41.980 回答
0

这个错误的另一个原因(我遇到过)是一个混乱的 /etc/hosts 文件导致 namenode 只在环回接口上监听。

这导致datanodes无法连接到namenode,并且没有达到复制级别作为副作用。有关更多详细信息,请参阅 名称节点拒绝连接错误

于 2013-10-22T16:02:41.230 回答