Hadoop集群。地图减少作业在地图上停留100%并减少0%

时间:2015-11-28 05:09:38

标签: hadoop

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

然而,当我运行map reduce示例时,应用程序停留在地图100%并减少0%。

请帮忙

我使用Vagrant和Virtual box设置了环境。创建了两个实例。

我在一个实例中运行名称节点和数据节点,在另一个实例中运行资源管理器和节点管理器。

mapred-siet.xml配置

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

纱-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 个答案:

答案 0 :(得分:1)

我现在可以运行该应用程序了。我认为这是系统所需内存的问题。我更改了以下属性,如下所示              yarn.scheduler.maximum分配-MB         8192     

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

并重复这个过程。它的工作正常。