2012-04-15 8 views
5

Używam klastra z jednym węzłem, używając wersji 1.0o i Ubuntu 11.10. Uruchomiłem prosty skrypt po awarii, prawdopodobnie dlatego, że mój komputer poszedł spać. Próbowałem sformatować system plików przy użyciuJak sformatować i dodać pliki do hadoop po awarii?

bin/Hadoop namenode -format

i uzyskałem następujący błąd:

ERROR namenode.NameNode: java.io.IOException: Nie można zablokować przechowywanie/app/Hadoop/tmp/dfs/name. Katalog jest już zablokowany. w org.apache.hadoop.hdfs.server.common.Storage $ StorageDirectory.lock (Storage.java:602)

próbuję dodać pliki wejściowe za pomocą polecenia:

bin/Hadoop fs -copyFromLocal DataDirectory/* txt inputDirectory

i pojawia się błąd.

12/04/15 09:05:21 WARN hdfs.DFSClient: DataStreamer wyjątek: org.apache.hadoop.ipc.RemoteException: java.io .IOException: Plik /home/hduser/input/book1.txt może być replikowany tylko do 0 węzłów, zamiast 1

12/04/15 09:05:21 WARN hdfs.DFSClient: Odzyskiwanie błędów dla bloku pustego złego datanodu [0] węzłów == null 12/04/15 09:05:21 WARN hdfs.DFSClient: Nie można uzyskać lokalizacje bloków. Plik źródłowy "/home/hduser/input/book1.txt" - Przerywanie ...

Później widzę pliki w katalogu wejściowym, ale ich rozmiar to 0. Jakieś pomysły dotyczące dodawania plików? Udało mi się dodać pliki przed rozbitym hadoopem, więc mogę ponownie zainstalować linuxa i hadoop, ale wydaje się, że to przesada. Dzięki.

Odpowiedz

3
  1. Spróbuj ręcznie usunąć katalogi przechowujące dane dla swojego identyfikatora. To jest skonfigurowane przez właściwości w mapred-site.xml, takie jak mapred.local.dir, mapred.system.dir itp. Po tym zatrzymaj hadoop, ponownie formatować namenode i spróbuj ponownie. Jeśli nadal napotykasz problem, przejdź do kroku 2

  2. Spróbuj ustawić konfiguracje naNodeode na inne ścieżki zamiast bieżących. Po tym zatrzymaj hadoop, ponownie sformatuj namenode i spróbuj ponownie. Jeśli nadal występuje problem, wykonaj krok 3:

  3. Sprawdź, czy jest wystarczająca ilość miejsca na dysku. Jeśli nie, to utwórz partycję na partycji, na której skonfigurowano namenode. Jeśli nadal masz problem, wykonaj krok 4:

  4. W hdfs.site.xml ustaw dfs.replication na 0. Po tym zatrzymaj hasoop, ponownie sformatuj namenode i spróbuj ponownie.

Jeśli nadal masz problem, proszę dać mi znać, wraz z pojawieniem się błędu/wyjątku.

+0

Dzięki Tejas, ale teraz nie mogę nawet połączyć się z lokalnego hosta, nawet po testach ssh. To ekstremalne, ale ponownej instalacji Linuksa. – user1106278

+0

jakie błędy dostałeś? –

+0

To działało dla mnie, ale musiałem ustawić dfs.name.dir i dfs.data.dir w pliku hdfs-site.xml. Nie jestem pewien, dlaczego to nie działało wcześniej, ponieważ żadna partycja nie była pełna. – MikeKulls

2

Miałem tego rodzaju problemy w przeszłości, dla mnie było to spowodowane tym, że moja partycja dysku była pełna. Więc radzę sprawdzić swój dysk i sprawdzić, czy jest to powiązane.

Jeśli tak jest, po prostu zwolnij trochę miejsca, zrestartuj demona (być może będziesz musiał zabić go ręcznie, zdarza się to czasami) i uruchom ponownie.

+0

Dzięki, linker. – user1106278

5

Trzeba zatrzymać Hadoop pierwszym użyciem

bin/stop-all.sh

następnie spróbuj sformatować sytem plików, ponieważ rozpatrywany Hadoop (węzeł nazwa węzła, a dane nadal działa) zablokuje plik system, może dać ten błąd.

więc jeśli po wydaniu komendy bin/stop -all.sh po prostu zabij proces, możesz to zrobić, podając komendę "jps" w powłoce, która pokaże ci procesy (procesy java) i będzie miał pid związany z każdym procesem, możesz dać komendę "kill processno" jak "kill 23232", np. zabij wszystkie procesy i usuń folder systemu plików hdfs, który określiłeś, używając polecenia, które powiedziałeś.

a także sprawdzić ilość miejsca na dysku jest wystarczająco dostępny, załóżmy zainstalowaniu Ubuntu wewnątrz okna można uzyskać więcej miejsca, podając swój system plików wewnątrz/host/a niektóre folderu.

Uwaga: Nie musisz formatować HDFS jak można po prostu zatrzymać wszystkie namenode i węzeł danych i ponownie uruchomić procesy Hadoop, gdyż nie dostać currupted często, po zatrzymaniu i uruchomieniu Hadoop jeśli daje dowolny błąd, po sformatowaniu systemu plików.

Nadzieja to pomoże ......

+0

Dzięki, Shaswat. – user1106278

0

najważniejsze, sprawdzić /etc/hadoop/conf/hdfs-site.xml i upewnić się, że nie tłuszczu palcami taką samą wartość dla :

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

Obie wartości powinny mieć różne wartości.

Abby

Powiązane problemy