2014-06-30 16 views
8

Jestem nowy w hadoop i tutaj jest mój problem. Skonfigurowałem hadoop 2.4.0 z jdk1.7.60 na klastrze z 3 komputerami. Jestem w stanie wykonać wszystkie polecenia z hadoop. Teraz mam zmodyfikowany przykład wordcount i utworzony plik jar. Mam już wykonane z tym plikiem jar na hadoop 1.2.1 i otrzymałem wynik. Ale teraz na hadoopie 2.4.0 nie otrzymuję żadnego wyniku.Nie można uruchomić zadania MapReduce na hadoop 2.4.0

Komenda używana do wykonania

$hadoop jar WordCount.jar WordCount /data/webdocs.dat /output 

ja dostaję następujący komunikat od konfiguracji:

14/06/29 19:35:18 INFO client.RMProxy: Connecting to ResourceManager at /192.168.2.140:8040 
14/06/29 19:35:18 WARN mapreduce.JobSubmitter: Hadoop command-line option parsing not performed. Implement the Tool interface and execute your application with ToolRunner to remedy this. 
14/06/29 19:35:19 INFO input.FileInputFormat: Total input paths to process : 1 
14/06/29 19:35:19 INFO mapreduce.JobSubmitter: number of splits:12 
14/06/29 19:35:19 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1403905542893_0004 
14/06/29 19:35:19 INFO impl.YarnClientImpl: Submitted application application_1403905542893_0004 
14/06/29 19:35:19 INFO mapreduce.Job: The url to track the job: http://192.168.2.140:8088/proxy/application_1403905542893_0004/ 
14/06/29 19:35:19 INFO mapreduce.Job: Running job: job_1403905542893_0004 

W tym momencie bez zmian komunikat. Czekałem od 15 do 20 minut, ale wciąż tak samo.

To co widzę na stronie internetowej Menedżer zasobów w odniesieniu do pracy:

State - ACCEPTED 
FinalStatus - UNDEFINED 
Progress - (progress bar in 0%) 
Tracking UI - UNASSIGNED 

Apps Submitted - 1 
Apps Pending - 1 
Apps Running - 0 

Próbowałem inną komendę przędzy do wykonania, ale mam ten sam rezultat

$yarn jar WordCount.jar WordCount /data/webdocs.dat /output 

Oto wyjściowy jps:

21485 NameNode 
23142 DataNode 
28504 Jps 
21704 ResourceManager 
22082 JobHistoryServer 

Każda pomoc lub wytyczne będą bardzo przydatne.

+0

Musisz przejrzeć dzienniki RM, aby zobaczyć, czy jest tam coś dziwnego. Aplikacja została zaakceptowana, ale jeszcze nie działa. Może żądasz więcej zasobów, które są dostępne w twoim RM. – vanza

+0

Hej, oprócz bycia nowicjuszem w Hadoop, jestem również nowy w Javie. Czy możesz powiedzieć, w jaki sposób mogę utworzyć słoiczek Word Count? – nish

+0

@nish skompiluj plik filename.java za pomocą polecenia ** javac filename.java ** teraz użyj tego polecenia, aby utworzyć plik jar ** jar cvf filename.jar. *. Class ** – user2670999

Odpowiedz

7

Rozwiązałem problem. To był błąd w pliku konfiguracyjnym hadoopu. Wystąpił wyjątek wiązania na porcie 8040 dla Resourcemanager.

Zmieniłem Hadoop przędzy site.xml z (stary przędzy site.xml):

<configuration> 
<!-- Site specific YARN configuration properties --> 
<property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
</property> 
<property> 
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
    <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.resource-tracker.address</name> 
    <value>192.168.2.140:8025</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.scheduler.address</name> 
    <value>192.168.2.140:8030</value> 
</property> 
<property> 
    <name>yarn.resourcemanager.address</name> 
    <value>192.168.2.140:8040</value> 
</property> 
</configuration> 

do (nowej przędzy site.xml):

<configuration> 
<property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
</property> 
<property> 
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
    <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
</property> 
</configuration> 

Usunąłem druga linia w konfiguracji Hadoop Potem Gacé następujące polecenia, aby rozpocząć ResourceManager i nodemanager

$yarn-daemon.sh start nodemanager 
$yarn-daemon.sh start resourcemanager 

Potem próbowałem wykonać swoją pracę i to się udało.