无法在hadoop 2.4.0上运行MapReduce作业

我是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上存在绑定exception。

我从(old yarn-site.xml)更改了hadoop yarn-site.xml:

    yarn.nodemanager.aux-services mapreduce_shuffle   yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler   yarn.resourcemanager.resource-tracker.address 192.168.2.140:8025   yarn.resourcemanager.scheduler.address 192.168.2.140:8030   yarn.resourcemanager.address 192.168.2.140:8040   

To(new yarn-site.xml):

   yarn.nodemanager.aux-services mapreduce_shuffle   yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler   

我在hadoop配置中删除了另一行然后我按照命令启动resourcemanager和nodemanager

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

然后我尝试执行我的工作,这是成功的。