2014-11-22 20 views
5

Szukałem tego problemu i chociaż istnieje wiele podobnych przykładów, nie mogę znaleźć wspólnego rozwiązania lub takiego, które działa dla mnie. Zainstalowałem Hadoop i pracuję w trybie pseudo rozproszonym. Działa to dobrze, a ja mogę go uruchamiać i zatrzymywać kilka razy i sprawić, by działał poprawnie. Jeśli jednak ponownie uruchomię komputer i uruchomię Hadoop, to namenode się nie uruchomi. Muszę go sformatować za każdym razem, co oznacza, że ​​tracę całą pracę, którą wykonałem i muszę zacząć od nowa.Nodeenode Hadoop musi być sformatowane po każdym uruchomieniu komputera.

Postępuję zgodnie z Hadoop: The Definitive Guide v3.

Moja core-site.xml mówi:

<configuration> 
    <property> 
     <name>fs.default.name</name> 
     <value>hdfs://localhost/</value> 
    </property> 
</configuration> 

Moja HDFS-site.xml mówi:

<configuration> 
    <property> 
     <name>dfs.replication</name> 
     <value>1</value> 
    </property> 
</configuration> 

Czy istnieje sposób konfigurowania Hadoop tak, że nie trzeba ponownie -formatować przy każdym ponownym uruchomieniu komputera?

Dzięki.

Odpowiedz

11

Wygląda na to, że nie przesłonisz konfiguracji hdfs dfs.name.dir, dfs.data.dir, domyślnie wskazuje katalog/tmp, który zostanie wyczyszczony po ponownym uruchomieniu komputera. Musisz zmienić to z/tmp na inną lokalizację w twoim katalogu domowym, zastępując te wartości w pliku hdfs-site.xml znajdującym się w katalogu konfiguracyjnym HADOOP.

wykonać następujące kroki

utworzyć katalog w katalogu domowym do przechowywania namenode obraz & datanode bloki (Wymień nazwy logowania)

mkdir /home/<USER>/pseudo/ 

zmodyfikować plik HDFS-site.xml w swojej HADOOP_CONF_DIR (Hadoop direcotry konfiguracja) w następujący sposób

<?xml version="1.0"?> 
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> 
<configuration> 
<property> 
    <name>dfs.name.dir</name> 
    <value>file:///home/<USER>/pseudo/dfs/name</value> 
</property> 
<property> 
    <name>dfs.data.dir</name> 
    <value>file:///home/<USER>/pseudo/dfs/data</value> 
</property> 
<property> 
    <name>dfs.replication</name> 
    <value>1</value> 
</property> 

</configuration> 

sformatować HDFS namenode & zacznij używać

+0

Fantastyczna - to zadziałało. Wielkie dzięki. – Nick

+0

B/w, nie ma potrzeby tworzenia katalogu. Katalog zostanie utworzony automatycznie podczas "hdfs namenode -format" – Raj

+0

Cool. Pamiętam, że wcześniejsze wersje Miaoopu 0.20, musiałyśmy ręcznie utworzyć katalog. W najnowszej wersji wspólnota hadoop dodała funkcję automatycznego tworzenia katalogów. Dziękuję za komentarz !! – sachin

Powiązane problemy