在单节点群集Mapreducce中启用并行

问题描述

我希望并行运行多个映射器和化简器。 根据公式获取并发任务数

min (yarn.nodemanager.resource.memory-mb / mapreduce.[map|reduce].memory.mb,yarn.nodemanager.resource.cpu-vcores / mapreduce.[map|reduce].cpu.vcores)

我希望可以并行执行4个任务,但实际上,我只有一个正在运行的任务。

此外,我还查询了其他一些可能对我的情况有所帮助的问题,How to run MapReduce tasks in Parallel with hadoop 2.x?也说了同样的话,

我的文件为628mb,类型为ORC。 DFS块大小为256mb,因此,如果我不添加 mapreduce.input.fileinputformat.split.minsize 作为参数,则认情况下会得到3个分割。

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>

<!-- YARN settings for lower and upper resource limits -->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-vcores</name>
        <value>4</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-vcores</name>
        <value>4</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>8192</value>
    </property>
    <property>
         <main>yarn.nodemanager.resource.cpu-vcores</main>
         <value>4</value>
    </property>

</configuration>

mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

<property>
  <name>mapreduce.client.submit.file.replication</name>
  <value>1</value>
</property>

<property>
  <name>mapreduce.map.memory.mb</name>
  <value>2048</value>
</property>

<property>
  <name>mapreduce.reduce.memory.mb</name>
  <value>2048</value>
</property>

<property>
  <name>mapreduce.map.java.opts</name>
  <value>-Xmx1638m</value>
</property>

<property>
  <name>mapreduce.reduce.java.opts</name>
  <value>-Xmx1638m</value>
</property>

<property>
  <name>mapred.tasktracker.map.tasks.maximum</name>
  <value>8</value>
</property>

<property>
  <name>mapred.map.tasks</name>
  <value>4</value>
</property>

<property>
    <name>mapreduce.map.cpu.vcores</name>
    <value>4</value>
</property>

<property>
    <name>mapreduce.reduce.cpu.vcores</name>
    <value>4</value>
</property>

</configuration>

我确实检查了可用内存,并且在可用状态下有9GB可用空间。

是否需要更多配置?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)