我正在试着设置 Hadoop
群集打开 Fedora 17
. 当我给予 /bin/star-all.sh
命令守护程序正在主节点和从节点上启动。但当我在主节点上查看数据节点的日志文件时,我会得到以下结果
错误org.apache.hadoop.security.usergroupinformation:priviledgedactionexception as:hadoop1cause:java.io.ioexception:file/home/hadoop1/mapred/system/jobtracker.info只能复制到0个节点,而不是1个节点
2013-03-23 15:37:08205 info org.apache.hadoop.ipc.server:ipc服务器处理程序5在9100上,从127.0.0.1:40173调用addblock(/home/hadoop1/mapred/system/jobtracker.info,dfsclient_,null):错误:java.io.ioexception:file/home/hadoop1/mapred/system/jobtracker.info只能复制到0节点,而不是1 java.io.ioexception:file/home/hadoop1/mapred/system/jobtracker.info只能复制到0个节点,而不是org.apache.hadoop.hdfs.server.namenode.fsnamesystem.getadditionalblock(fsnamesystem)中的1。java:1558)在org.apache.hadoop.hdfs.server.namenode.namenode.addblock(namenode。java:696)在sun.reflect.nativemethodaccessorimpl.invoke0(本机方法)在sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl)。java:57)在sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl。java:43)在java.lang.reflect.method.invoke(方法。java:601)在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)在javax.security.auth.subject.doas(主题)中的java.security.accesscontroller.doprivileged(本机方法)。java:415)在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:数据流异常:org.apache.hadoop.ipc.remoteexception:java.io.ioexception:file/home/hadoop1/hdfs/data/wordcount/pg20417.txt只能复制到0个节点,而不是org.apache.hadoop.hdfs.server.namenode.fsnamesystem.getadditionalblock(fsnamesystem)中的1。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.lang.reflect.method.invoke(方法。java:601)在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)位于javax.security.auth.subject.doas(subject)的java.security.accesscontroller.doprivileged(本机方法)。java:415) 在org.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 warn hdfs.dfsclient:块null错误数据节点[0]节点的错误恢复==null 13/03/23 15:41:05 warn hdfs.dfsclient:无法获取块位置。源文件“/home/hadoop1/hdfs/data/wordcount/pg20417.txt”-正在中止。。。copyfromlocal:java.io.ioexception:file/home/hadoop1/hdfs/data/wordcount/pg20417.txt只能复制到0个节点,而不是1 13/03/23 15:41:05错误hdfs.dfsclient:exception关闭文件/home/hadoop1/hdfs/data/wordcount/pg20417.txt:org.apache.hadoop.ipc.remoteexception:java.io.ioexception:file/home/hadoop1/hdfs/data/wordcount/pg20417.txt只能复制到0个节点,而不是org.apache.hadoop.hdfs.server.namenode.fsnamesystem.getadditionalblock(fsnamesystem)中的1。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.lang.reflect.method.invoke(方法。java:601)在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)位于javax.security.auth.subject.doas(subject)的java.security.accesscontroller.doprivileged(本机方法)。java:415) 在org.apache.hadoop.security.usergroupinformation.doas(usergroupinformation。java:1121)在org.apache.hadoop.ipc.server$handler.run(server。java:1382)
感谢您在这方面的帮助。。
4条答案
按热度按时间s4n0splo1#
我删除了hdfs上的jobtracker.info,然后它就工作了。hadoop似乎在翻拍它
6qfn3psc2#
我设法解决了这个问题。。。
步骤i)主节点和从节点机器上的防火墙处于活动状态。。我通过以下命令禁用了它“systemctl disable iptables.service”
第二步)我分配错误”hdfs://localhost从机的core-sites.xml配置文件中的:9100“到”fs.default.name“。我把它改成了“hdfs://master:9100"
现在我的hadoop集群启动了。。
谢谢克里斯的帮助。。。
njthzxwz3#
这个错误的另一个原因(我遇到)是/etc/hosts文件出错,导致namenode只在环回接口上侦听。
这导致datanodes无法连接到namenode,并且副作用是未达到复制级别。有关详细信息,请参见namenode拒绝连接错误。
omqzjyyz4#
这个错误的原因是磁盘空间不足(~200mb不够)。