You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-user@hadoop.apache.org by Alex Luya <al...@gmail.com> on 2010/05/29 04:09:00 UTC

error:Not able to place enough replicas, still in need of 3

Hello:
       when  run "hadoop dfs -put src des",I got an 
error:java.io.IOException: File 
/user/alex/hadoop-alex-namenode-AlexLuya.log could only be replicated to 
0 nodes, instead of 1,and I have
  checked logs in namenode and datanode and secondary,only this error is 
presented in namenode:
-----------------------------------------------------------------------------------------------------------------------------------------
2010-05-28 21:15:57,973 WARN 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem: Not able to place 
enough replicas, still in need of 3
2010-05-28 21:15:57,973 INFO org.apache.hadoop.ipc.Server: IPC Server 
handler 6 on 8020, call 
addBlock(/user/alex/hadoop-alex-namenode-AlexLuya-bak.log, 
DFSClient_-619515906) from 192.168.1.188:58041: error: 
java.io.IOException: File 
/user/alex/hadoop-alex-namenode-AlexLuya-bak.log could only be 
replicated to 0 nodes, instead of 1
java.io.IOException: File 
/user/alex/hadoop-alex-namenode-AlexLuya-bak.log could only be 
replicated to 0 nodes, instead of 1
         at 
org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1271)
         at 
org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:422)
         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.RPC$Server.call(RPC.java:508)
         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:959)
         at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:955)
         at java.security.AccessController.doPrivileged(Native Method)
         at javax.security.auth.Subject.doAs(Subject.java:396)
         at org.apache.hadoop.ipc.Server$Handler.run(Server.java:953)
----------------------------------------------------------------------------------------------------------------------------------------


    but,the same configuration worked well yestoday,this morning I just 
restart hadoop,this error comes up,that is strange.Within web UI,I can 
see four live nodes(all I have),so datanodes can register
themselves to namendoe,maybe namenode cann't not connect to datanode(I 
append core-site.xml and hdfs-site in the end),but I can access datanode 
in web UI,and I see files that I put(hadoop dfs -put)
by runing "hadoop dfs -ls" and checking http://datanode:50075,but size 
is 0 kb,jps shows all processes are up in namenode and datanode.

OS and hadoop info
---------------------------------
ubuntu server 10.04        java 1.6_20 64bit         hadoop 0.20.2
--------------------------------

core-site.xml
------------------------------------------
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://AlexLuya</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/alex/tmp</value>

</property>
</configuration>

-------------------------------------------

hdfs-site.xml
-------------------------------------------
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/alex/hadoop/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/alex/hadoop/dfs</value>
</property>
<property>
<name>dfs.block.size</name>
<value>67108864</value>
</property>
<property>
<name>dfs.http.address</name>
<value>AlexLuya:50070</value>
<description>
                         The address and the base port where the dfs 
namenode web ui will listen
                         on.
                         If the port is 0 then the server will start on 
a free port.
</description>
</property>
<!--
<property> <name>dfs.datanode.max.xcievers</name> <value>2047</value>
</property>
         -->

<property>
<name>dfs.secondary.http.address</name>
<value>0.0.0.0:50090</value>
</property>

<property>
<name>dfs.datanode.address</name>
<value>0.0.0.0:50010</value>
</property>


<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:50075</value>
</property>

<property>
<name>dfs.datanode.ipc.address</name>
<value>0.0.0.0:50020</value>
</property>

<property>
<name>dfs.datanode.https.address</name>
<value>0.0.0.0:50475</value>
</property>

<property>
<name>dfs.https.address</name>
<value>0.0.0.0:50470</value>
</property>

</configuration>

-------------------------------------------