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.
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
jakie błędy dostałeś? –
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