Ho un semplice job hadoop che esegue la scansione dei siti Web e li memorizza nell'HDFS. Il mapper controlla se esiste già un URL in HDFS e, in caso affermativo, lo utilizza altrimenti scarica la pagina e la salva su HDFS.Come risolvere 'il file può essere replicato solo su 0 nodi, invece di 1' su hadoop?
Se si verifica un errore di rete (404, ecc.) Durante il download della pagina, l'URL viene saltato interamente, non scritto sull'HDFS. Ogni volta che eseguo una piccola lista di circa 1000 siti web, mi sembra sempre di incontrare questo errore che causa il crash del lavoro ripetutamente nella mia installazione pseudo-distribuita. Quale potrebbe essere il problema?
Sto eseguendo Hadoop 0.20.2-cdh3u3.
org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/raj/cache/9b4edc6adab6f81d5bbb84fdabb82ac0 could only be replicated to 0 nodes, instead of 1
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1520)
at org.apache.hadoop.hdfs.server.namenode.NameNode.addBlock(NameNode.java:665)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:616)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:557)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1434)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1430)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:416)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1157)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1428)
Perché non è sufficiente impostare "dfs.replication" su 0 in hdfs-site.xml. Poiché stai utilizzando la modalità pseudo, la replica dei dati non ti riguarda. –