簡體   English   中英

無法在hadoop 2.4.0上運行MapReduce作業

[英]Can't run a MapReduce job on hadoop 2.4.0

我是hadoop的新手,這是我的問題。 我已經在3台機器的集群上配置了帶有jdk1.7.60的hadoop 2.4.0。 我能夠執行hadoop的所有命令。 現在我修改了wordcount示例並創建了jar文件。 我已經在hadoop 1.2.1上使用這個jar文件執行並獲得了結果。 但是現在在hadoop 2.4.0上我沒有得到任何結果。

用於執行的命令

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

我從設置中得到以下消息:

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

此時沒有消息改變。 我等了15到20分鍾,但仍然一樣。

這是我在資源管理器的網頁上看到的關於這項工作的內容:

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

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

我嘗試了另一個yarn命令來執行,但得到了相同的結果

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

這是jps的輸出:

21485 NameNode
23142 DataNode
28504 Jps
21704 ResourceManager
22082 JobHistoryServer

任何幫助或指導都會受到高度關注。

我解決了這個問題。 這是hadoop的配置文件中的錯誤。 資源管理器的端口8040上存在綁定異常。

我從(old yarn-site.xml)更改了hadoop yarn-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>

To(new yarn-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>

我刪除了hadoop配置中的另一行然后我按照命令啟動resourcemanager和nodemanager

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

然后我嘗試執行我的工作,這是成功的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM