2016-03-09 35 views
1

我有一個運行在Ec2 d2.xlarge實例上的2Node集羣,並且我有一個10Gb的文件需要通過Spark處理,我已經掛載了一個本地磁盤上的火花和產生的數據集Ø10GB那邊,但是當我試圖將它放入HDFS它扔我的錯誤如下Apache Spark Ec2:只能複製到0節點,而不是1

16/03/09 21:44:25 WARN hdfs.DFSClient: DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /vinit/inputfile.txt could only be replicated to 0 nodes, instead of 1 
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1558) 
    at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:696) 
    at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) 
    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: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) 
    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:1121) 
    at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1382) 
「只能複製到0節點,而不是1」
+0

您的HDFS datanodes不起作用。檢查他們的日誌。 –

+0

是的,我檢查使用jps命令,但我如何配置和啓動它? – shah

回答

0

由於您的HDFS datanodes不起作用,並且您已使用jps命令進行檢查。您可以通過添加數據節點的主機名或IP條目<HADOOP_HOME>/etc/hadoop/slaves文件,例如配置數據節點(奴隸):

192.168.64.11 
192.168.64.12 

和與之相似的名稱節點(主)可以添加到entires文件<HADOOP_HOME>/etc/hadoop/masters如:(假設192.168.64.11是主設備)

192.168.64.11 

然後在主節點上運行stop-all.sh和star-all.sh以重啓集羣。這將自動啓動datanode。用jps命令檢查。

+0

我完全按照你的步驟,但它不工作。我設法使用./hadoop-daemon.sh start datanode命令啓動datanode。並嘗試使用./hadoop fs -put /newDir/inputfile.txt/newDir/dir將我的文件放到我登錄到ec2的目錄中。但獲得相同的例外。 – shah

+0

在提交hadoop作業之前,首先使用瀏覽器'http:// name-node-ip:50070 /'或在控制檯上'/bin/hdfs dfsadmin -report'檢查集羣的狀態,並且任何節點未啓動,然後檢查最新該節點的日誌。 – Mahendra

相關問題