当前位置: 首页 > 知识库问答 >
问题:

Hadoop集群。Map reduce作业卡在Map 100%和reduce 0%

锺超英
2023-03-14

我是Hadoop新手。我试图根据Apache hadoop站点上给出的示例创建一个hadoop集群。

然而,当我运行map reduce示例时,应用程序卡在map 100%和reduce 0%。

请帮忙

我已经设置了使用Vagrant和Virtual Box的环境。创建了两个实例。

<configuration>

<!-- Map Reduce applications configuration -->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<property>
    <name>mapreduce.map.memory.mb</name>
    <value>1536</value>
</property>
<property>
    <name>mapreduce.map.java.opts</name>
    <value>-Xmx1024M</value>
</property>
<property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>3072</value>
</property>
<property>
    <name>mapreduce.reduce.java.opts</name>
    <value>-Xmx2560M</value>
</property>
<property>
    <name>mapreduce.task.io.sort.mb</name>
    <value>512</value>
</property>
<property>
    <name>mapreduce.task.io.sort.factor</name>
    <value>100</value>
</property>
<property>
    <name>mapreduce.reduce.shuffle.parallelcopies</name>
    <value>50</value>
</property>


<!-- Map Reduce Job History Server -->
<property>
    <name>mapreduce.jobhistory.intermediate-done-dir</name>
    <value>/mr-history/tmp</value>
</property>
<property>
    <name>mapreduce.jobhistory.done-dir</name>
    <value>/mr-history/done</value>
</property>

yarn-site.xml

e<configuration>
<!-- Resource Manager -->
<property>
    <name>yarn.acl.enable</name>
    <value>false</value>
</property>
<property>
    <name>yarn.resourcemanager.scheduler.class</name>
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
</property>
<property>
    <name>yarn.scheduler.minimum-allocation-mb</name>
    <value>1024</value>
</property>
<property>
    <name>yarn.scheduler.maximum-allocation-mb</name>
    <value>4096</value>
</property>

<!-- Node Manager -->
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>2048</value>
</property>  
<property>
    <name>yarn.nodemanager.vmem-pmem-ratio</name>
    <value>2.1</value>
</property> 
<property>
    <name>yarn.nodemanager.local-dirs</name>
    <value>/opt/hadoop-2.6.2/tempData</value>
</property>  
<property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/opt/hadoop-2.6.2/logDir</value>
</property> 
<property>
    <name>yarn.nodemanager.log.retain-seconds</name>
    <value>10800</value>
</property> 
<property>
    <name>yarn.nodemanager.remote-app-log-dir</name>
    <value>/logs</value>
</property> 
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property> 

<!-- History Server -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>-1</value>
</property>   
<property>
    <name>yarn.log-aggregation.retain-check-interval-seconds</name>
    <value>-1</value>
</property>  

共有1个答案

洪富
2023-03-14

我现在能够运行应用程序了。因为我认为这是系统所需内存的问题。我更改了下面给出的以下属性yarn.scheduler.maximum-allocation-MB 8192

<!-- Node Manager -->
<property>
    <name>yarn.nodemanager.resource.memory-mb</name>
    <value>8192</value>
</property> 

并重复这一过程。现在工作得很好。

 类似资料:
  • 我试图运行WordCount示例的一个变体,这个变体是,映射器输出文本作为键和文本作为值,而还原器输出文本作为键和NullWritable作为值。 除了地图,减少签名,我把主要的方法是这样的:

  • 我试图使用这里定义的基本字数。当IntSumReducer执行context.write时,是否可能将该context.write传递给第二个reducer或输出类,该reducer或输出类将IntSumReducer给出的最终列表减少/更改到单个最大频率? 我对Hadoop/MapReduce和Java中的jobs概念相当陌生,所以我不确定我需要如何修改默认的WordCount以使其符合要求。我

  • 现在我有一个4阶段的MapReduce作业,如下所示:

  • 我正在研究Flink 1.9.1的docker/k8s部署可能性。 我看完了[1][2][3][4]。 目前,我们确实认为,我们将尝试采用工作集群方法,尽管我们想知道社区的这一趋势是什么?我们不希望每个Flink集群部署多个作业。 不管怎样,我想知道一些事情: > 在这两种情况下,Flink的UI都显示每个任务管理器有4个CPU。 如果使用作业群集,如何重新提交作业。我指的是这个用例。你可能会说我

  • 我有两个节点的完全分布式Hadoop和Hbase实例。HDFS在主机和从机上工作良好。但是HBase shell只在节点名格式化之后工作一次,并且集群是新的,之后我得到错误:error:org.apache.hadoop.HBase.PleaseHoldException:Master is initializing HBase 我也不能通过hbase shell从slave连接我总是得到错误连接

  • 我一直在通过PuTTy登录到SSH来运行Hadoop MapReduce作业,这要求我在PuTTy中输入主机名/IP地址、登录名和密码,以获得SSH命令行窗口。进入SSH控制台窗口后,我将提供适当的MR命令,例如: hadoop jar /usr/lib/hadoop-0.20-mapreduce/contrib/streaming/hadoop-streaming-2.0.0-mr1-cdh4.