2012-04-15 9 views
5

Sto eseguendo un cluster a nodo singolo usando hadoop versione 1.0.1 e Ubuntu linux 11.10. Stavo eseguendo un semplice script quando si è bloccato, probabilmente perché il mio computer è andato a dormire. Ho provato a riformattare il file system usandoCome posso formattare e aggiungere file a hadoop dopo che si è bloccato?

bin/Hadoop NameNode -format

e ottenuto il seguente errore:

ERRORE namenode.NameNode: java.io.IOException: Impossibile bloccare lo stoccaggio/app/Hadoop/tmp/DFS/nome. La directory è già bloccata. a org.apache.hadoop.hdfs.server.common.Storage $ StorageDirectory.lock (Storage.java:602)

cerco di aggiungere i file di input usando il comando:

fs bin/Hadoop -copyFromLocal DataDirectory/* txt inputDirectory

e ottenere l'errore:.

12/04/15 09:05:21 WARN hdfs.DFSClient: DataStreamer Eccezione: org.apache.hadoop.ipc.RemoteException: java.io .IOException: File /home/hduser/input/book1.txt può essere replicato solo su 0 nodi, invece di 1

12/04/15 09:05:21 WARN hdfs.DFSClient: errore Recupero per blocco null datanode errato [0] nodi == null 12/04/15 09:05:21 WARN hdfs.DFSClient: Impossibile ottenere posizioni di blocco. File di origine "/home/hduser/input/book1.txt" - Interruzione ...

In seguito, vedo i file nella directory di input, ma le loro dimensioni sono 0. Qualche idea su come posso aggiungere i file? Sono stato in grado di aggiungere i file prima che si verificasse il crash di hadoop, quindi posso reinstallare linux e hadoop, ma sembra eccessivo. Grazie.

risposta

3
  1. Cercare di eliminare manualmente le directory che memorizzano i dati per il proprio namenode. Questo è configurato per le proprietà in mapred-site.xml come mapred.local.dir, mapred.system.dir ecc. Dopo questo, interrompere hadoop, riformattare il namenode e riprovare. Se il problema persiste, passa al passaggio 2

  2. Prova a configurare le configurazioni del nome del nodo su altri percorsi anziché su quello corrente. Dopodiché, ferma hadoop, riformatta il namenode e riprova. Se il problema persiste, passare al punto 3

  3. Verificare se è presente spazio su disco sufficiente. In caso contrario, creare uno spazio nella partizione in cui è configurato il namenode. Se il problema è ancora in sospeso, andare al passaggio 4

  4. In hdfs.site.xml, impostare dfs.replication su 0. Al termine, interrompere hasdoop, riformattare il namenode e riprovare.

Se il problema persiste, comunicacelo insieme all'errore/eccezione che si ottiene.

+0

Grazie, Tejas, ma ora non posso nemmeno connettersi all'host locale, anche dopo la prova ssh. È estremo, ma sto reinstallando Linux. – user1106278

+0

quali errori stai ottenendo? –

+0

Questo ha funzionato per me tranne che ho dovuto impostare dfs.name.dir e dfs.data.dir nel file hdfs-site.xml. Non sono sicuro del motivo per cui non funzionava prima perché nessuna partizione era quasi completa. – MikeKulls

2

Ho avuto questo tipo di problemi in passato, per me era perché la partizione del mio disco era piena. Quindi ti consiglierei di controllare il tuo disco e vedere se è collegato.

Se è il caso, liberare spazio, riavviare il demone (potrebbe essere necessario eliminarlo manualmente, a volte succede) e riavviare.

+0

Grazie, linker. – user1106278

5

È necessario fermare il Hadoop prima utilizzando

bin/stop-all.sh

quindi provare a formattare il file sytem dal momento che il Hadoop (nodo nodo del nome e dei dati ancora in esecuzione) si blocca il file sistema, può dare quell'errore

quindi se dopo aver dato il comando bin/stop-all.sh basta uccidere il processo per quello che si può fare è dare il comando "jps" alla shell e che mostrerà i processi (processi java) e avrà un pid relativo ad ogni processo che puoi dare al comando "kill processno" come "kill 23232", come questo uccide tutti i processi, ed elimina la cartella del file system hdfs che hai specificato, usando il comando che hai detto.

E verificare anche lo spazio su disco è sufficiente a disposizione, si supponga di aver installato Ubuntu all'interno di Windows è possibile ottenere più spazio specificando il file system all'interno di/host/e qualche cartella.

Nota: Non avete bisogno di formattare i HDFS, come si può solo fermare tutto NameNode e il nodo di dati e di nuovo avviare i processi di Hadoop, in quanto non viene currupted spesso, dopo l'arresto e l'avvio Hadoop se dà qualsiasi errore, quindi si formatta il file system.

Spero che questo vi aiuterà a ......

+0

Grazie, Shaswat. – user1106278

0

più importante, controllare il /etc/hadoop/conf/hdfs-site.xml e garantire che non avete le dita il grasso stesso valore per :

dfs.name.dir & dfs.data.dir.

Entrambi devono avere valori diversi.

Abby

Problemi correlati