【发布时间】:2011-07-14 16:29:42
【问题描述】:
我在 EC2 中创建了一个 ubuntu 单节点 hadoop 集群。
测试上传到 hdfs 的简单文件可以在 EC2 机器上工作,但不能在 EC2 以外的机器上工作。
我可以通过远程机器的 Web 界面浏览文件系统,它显示一个数据节点报告为服务中。已经在安全性中打开了从 0 到 60000(!)的所有 tcp 端口,所以我认为不是这样。
我得到了错误
java.io.IOException: File /user/ubuntu/pies could only be replicated to 0 nodes, instead of 1
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1448)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:690)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.ipc.WritableRpcEngine$Server.call(WritableRpcEngine.java:342)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1350)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1346)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:742)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1344)
at org.apache.hadoop.ipc.Client.call(Client.java:905)
at org.apache.hadoop.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:198)
at $Proxy0.addBlock(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:82)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:59)
at $Proxy0.addBlock(Unknown Source)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:928)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:811)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:427)
namenode 日志只是给出了同样的错误。其他的好像没什么好玩的
有什么想法吗?
干杯
【问题讨论】:
-
我在设置单节点虚拟机时遇到问题。我从
conf/core-site.xml、conf/mapred-site.xml和conf/hdfs-site.xml中删除了配置属性。它在我的虚拟机上运行良好。免责声明:我是一个绝对的初学者。我认为这些更改会导致单个实例的默认值,并使其工作。 HTH。 -
我也遇到了同样的问题/错误。问题首先发生在我使用hadoop namenode -format格式化时所以在使用start-all.sh重新启动hadoop后,数据节点没有启动或初始化。您可以使用 jps 进行检查,应该有五个条目。如果 datanode 丢失,那么你可以这样做:stackoverflow.com/questions/11889261/…
标签: amazon-ec2 hadoop