如何解决在单节点群集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 举报,一经查实,本站将立刻删除。