无法在hadoop 2.4.0上运行MapReduce作业

 奋肀斗小族 发布于 2023-01-07 10:05

我是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

任何帮助或指导都会受到高度关注.

1 个回答
  • 我解决了这个问题.这是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
    

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

    2023-01-07 10:08 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有