2012-06-06 11 views
11

Jeśli wpiszę węzły http://localhost:50070 lub http://localhost:9000, przeglądarka nie wyświetli niczego, co moim zdaniem nie może połączyć się z serwerem. testowałem mój Hadoop z tym poleceniem:Nie można sprawdzić węzłów na hadoopie [Połączenie odrzucone]

hadoop jar hadoop-*test*.jar TestDFSIO -write -nrFiles 10 -fileSize 1000 

ale też nie działa i próbuje połączyć się z serwerem, to jest wyjście:

12/06/06 17:25:24 INFO mapred.FileInputFormat: nrFiles = 10 
12/06/06 17:25:24 INFO mapred.FileInputFormat: fileSize (MB) = 1000 
12/06/06 17:25:24 INFO mapred.FileInputFormat: bufferSize = 1000000 
12/06/06 17:25:25 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s). 
12/06/06 17:25:26 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 1 time(s). 
12/06/06 17:25:27 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 2 time(s). 
12/06/06 17:25:28 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 3 time(s). 
12/06/06 17:25:29 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 4 time(s). 
12/06/06 17:25:30 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 5 time(s). 
12/06/06 17:25:31 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 6 time(s). 
12/06/06 17:25:32 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 7 time(s). 
12/06/06 17:25:33 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 8 time(s). 
12/06/06 17:25:34 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 9 time(s). 
java.net.ConnectException: Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused 

Zmieniłem kilka plików tak: w konf/rdzenia site.xml:

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

w conf/HDFS-site.xml:

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

w conf/mapred-site.xml:

<configuration> 
    <property> 
    <name>mapred.job.tracker</name> 
    <value>localhost:9001</value> 
    </property> 
</configuration> 

Hey Guys thnks za uwagę Jeśli uruchomić to polecenie

cat /etc/hosts 

widzę:

127.0.0.1 localhost 
127.0.1.1 ubuntu.ubuntu-domain ubuntu 

# The following lines are desirable for IPv6 capable hosts 
::1  ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

i jeśli uruchomię ten:

ps axww | grep hadoop 

widzę ten wynik!

2170 pts/0 S+  0:00 grep --color=auto hadoop 

ale bez efektu masz jakiekolwiek Idee Jak mogę rozwiązać mój problem?

+0

Co zawiera plik/etc/hosts? –

+0

Nie znalazłem tego, wiesz, gdzie jest dokładnie plik hosta? – Baper

+0

w folderze hadoop? – Baper

Odpowiedz

12

Jest kilka rzeczy, którymi należy się zająć przed rozpoczęciem usług Miaoop.

Sprawdź co to zwraca:

hostname --fqdn 

W Twoim przypadku powinno to być localhost. Również komentuj IPV6 w/etc/hosts.

Formatowanie nazwy identyfikacyjnej przed uruchomieniem HDFS.

hadoop namenode -format 

Jak zainstalowałeś Hadoop? Lokalizacja plików dziennika zależy od tego. Zwykle znajduje się w lokalizacji "/ var/log/hadoop /", jeśli używasz dystrybucji cloudera.

Jeśli jesteś kompletnym nowicjuszem, sugeruję instalację Hadoop przy użyciu Cloudera SCM, co jest dość łatwe. Wysłałem my approach in installing Hadoop z dystrybucją Cloudera.

także

Upewnij DFS lokalizacja posiada pozwolenie zapisu. Zazwyczaj jest to @/usr/local/hadoop_store/hdfs

To jest typowy powód.

+1

Miałem ten sam problem. Po sformatowaniu węzła nazwy naprawił problem.Ale musiałem stworzyć katalog domowy za pomocą "hdfs dfs -mkdir/user; hdfs dfs -mkdir/user/{my-user-name} –

1

Zakładam, że to twoja pierwsza instalacja hadoop.

Na początku sprawdź, czy twoje demony działają. Aby tego użyć (w terminalu):

jps 

Jeśli pojawi się tylko jps, oznacza to, że wszystkie demony są wyłączone. Sprawdź pliki dziennika. Zwłaszcza namenode. Folder dziennika jest prawdopodobnie gdzieś tam/usr/lib/hadoop/logs

Jeśli masz jakieś problemy z uprawnieniami. Skorzystaj z tego przewodnika podczas instalacji.

Good installation guide

jestem strzelanie z tego wyjaśnienia, ale są to najczęstsze problemy.

+2

należy pamiętać, że jps wyświetli tylko maszyny JVM uruchomione dla bieżącego użytkownika (więc jeśli Ponownie uruchamiasz mako jako dedykowany użytkownik i wywołujesz jps z sesji innego użytkownika, procesy hadoopów nie będą się pojawiać) - http://docs.oracle.com/javase/1.5.0/docs/tooldocs/share/jps .html –

+0

Masz rację, jeśli uruchamiasz tryb w trybie pseudo rozproszonym, powinieneś używać sudo jps, ponieważ wszystkie demony są uruchamiane domyślnie przez superużytkownika, czy mam rację? – wonsky

2

edytuj również plik/etc/hosts i zmień 127.0.1.1 na 127.0.0.1 ... odpowiednia rozdzielczość dns jest bardzo ważna dla hadoop i nieco trudna ... dodaj także następującą właściwość do core-site.xml plik -

<property> 
     <name>hadoop.tmp.dir</name> 
     <value>/path_to_temp_directory</value> 
    </property> 

domyślna lokalizacja tego obiektu jest katalog/tmp, które ulegną opróżniany po każdym systemie restart..so tracisz wszystkie swoje dane na każdym restart..also dodać te właściwości w swoich HDFS-site.xml plik -

<property> 
     <name>dfs.name.dir</name> 
     <value>/path_to_name_directory</value> 
    </property> 

    <property> 
     <name>dfs.data.dir</name> 
     <value>/path_to_data_directory</value> 
    </property> 
4

ten sam problem, który mam i to rozwiązało mój problem:

problem leży za zgodą udzieloną na folderach "chmod" 755 lub wyższa dla folderów /home/nazwa_użytkownika/Hadoop/*

+0

Dzięki Ramy to zadziałało dla mnie. – Ragav

4

Inną możliwością jest namenode nie jest uruchomiony.

Można usunąć pliki HDFS:

rm -rf /tmp/hadoop* 

sformatować HDFS

bin/hadoop namenode -format 

I ponownie uruchomić usługi Hadoop

bin/hadoop/start-all.sh (Hadoop 1.x) 

lub

sbin/hadoop/start-all.sh (Hadoop 2.x) 
0

Witam Edytuj plik core conf/core-site.xml i zmień localhost na 0.0.0.0. Użyj conf poniżej. To powinno działać.

<configuration> 
    <property> 
    <name>fs.default.name</name> 
    <value>hdfs://0.0.0.0:9000</value> 
    </property> 
Powiązane problemy