ne pouvait être répliqué à 0 nœuds au lieu de minReplication (=1). Il y a 4 datanode(s) en cours d'exécution et pas de nœud(s) sont exclus de cette opération
Je ne sais pas comment résoudre cette erreur:
Vertex failed, vertexName=initialmap, vertexId=vertex_1449805139484_0001_1_00, diagnostics=[Task failed, taskId=task_1449805139484_0001_1_00_000003, diagnostics=[AttemptID:attempt_1449805139484_0001_1_00_000003_0 Info:Error: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/hadoop/gridmix-kon/input/_temporary/1/_temporary/attempt_14498051394840_0001_m_000003_0/part-m-00003/segment-121 could only be replicated to 0 nodes instead of minReplication (=1). There are 4 datanode(s) running and no node(s) are excluded in this operation.
at org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.chooseTarget(BlockManager.java:1441)
at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:2702)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.addBlock(NameNodeRpcServer.java:584)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolServerSideTranslatorPB.addBlock(ClientNamenodeProtocolServerSideTranslatorPB.java:440)
at org.apache.hadoop.hdfs.protocol.proto.ClientNamenodeProtocolProtos$ClientNamenodeProtocol$2.callBlockingMethod(ClientNamenodeProtocolProtos.java)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:928)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2014)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:2010)
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:1561)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2008)
at org.apache.hadoop.ipc.Client.call(Client.java:1411)
at org.apache.hadoop.ipc.Client.call(Client.java:1364)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:206)
at com.sun.proxy.$Proxy17.addBlock(Unknown Source)
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.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:190)
at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:103)
at com.sun.proxy.$Proxy17.addBlock(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.addBlock(ClientNamenodeProtocolTranslatorPB.java:361)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.locateFollowingBlock(DFSOutputStream.java:1439)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.nextBlockOutputStream(DFSOutputStream.java:1261)
at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:525)
Aucune idée de ce le cas?
Avez-vous suffisamment d'espace de stockage sur le cluster?
Cette erreur se produit, lorsque la commande gestionnaire de blocs essaie d'obtenir un bloc supplémentaire pour écrire les données, il est impossible de l'obtenir. Vous devez vérifier si vous avez assez d'espace de rangement à gauche sur vos Données Nœuds.
Cette erreur se produit, lorsque la commande gestionnaire de blocs essaie d'obtenir un bloc supplémentaire pour écrire les données, il est impossible de l'obtenir. Vous devez vérifier si vous avez assez d'espace de rangement à gauche sur vos Données Nœuds.
OriginalL'auteur Mona Jalal | 2015-12-12
Vous devez vous connecter pour publier un commentaire.
Cette erreur se produit dans
BlockManager::chooseTarget4NewBlock()
(je fais référence à la dernière version du code) code. Spécifiques morceau de code, ce qui provoque c'est:Cela se produit, lorsque le
BlockManager
tente de choisir un hôte cible pour le stockage de nouveau bloc de données et ne peut pas trouver un seul hôte(targets.length < minReplication)
.minReplication
est mis à 1 (paramètre de configuration:dfs.namenode.replication.min
) danshdfs-site.xml
fichier.Cela pourrait se produire en raison d'une des raisons suivantes:
Mais, dans votre cas, le message d'erreur contient également les informations suivantes:
Cela signifie, il y a 4 Nœuds de Données en cours d'exécution et tous les 4 Données des Nœuds ont été considérés pour l'emplacement des données, pour cette opération.
Donc, possible suspect est de l'espace disque sur les Données des Nœuds. Vous pouvez vérifier l'espace disque sur votre Nœuds de Données, à l'aide de la commande suivante:
Il donne pour chacun de vos Données en Direct Nœuds. Par exemple dans mon cas, j'ai eu la suivante:
Cocher la case "DFS-" et "DFS-Restant%". Cela devrait vous donner une idée sur le reste de l'espace sur vos Données Nœuds.
Vous pouvez également consulter le wiki ici: https://wiki.apache.org/hadoop/CouldOnlyBeReplicatedTo, qui décrit les raisons de cette erreur et les moyens de l'atténuer.
Erreur : java.io.IOException: Fichier /topics/+tmp/testTopic/année=2017/mois=07/jour=03/heure=03/380f83e3-adaa-4c4a-b195-ccb9ad0c8ddf_tmp ne pouvait être répliqué à 0 nœuds au lieu de minReplication (=1). Il y a 3 datanode(s) en cours d'exécution et pas de nœud(s) sont exclus de cette opération.
OriginalL'auteur Manjunath Ballur