什么是Hadoop的Apache的纱'MA preduce.map.memory.mb'和'马pred.map.child.java.opts“之间的关系? [英] What is the relation between 'mapreduce.map.memory.mb' and 'mapred.map.child.java.opts' in Apache Hadoop YARN?

查看:310
本文介绍了什么是Hadoop的Apache的纱'MA preduce.map.memory.mb'和'马pred.map.child.java.opts“之间的关系?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想知道 MA preduce.map.memory.mb之间的关系 MA pred.map .child.java.opts 参数。

MA preduce.map.memory.mb > MA pred.map.child.java.opts

谢谢,
Kewal。

Thanks, Kewal.

推荐答案

以下属性让你指定要传递到运行的任务的JVM选项。这些可以用 -Xmx 可用于控制可用 堆。

The following properties let you specify options to be passed to the JVMs running your tasks. These can be used with -Xmx to control heap available.

Hadoop 0.x, 1.x (deprecated)       Hadoop 2.x
-------------------------------    --------------------------
mapred.child.java.opts            
mapred.map.child.java.opts         mapreduce.map.java.opts
mapred.reduce.child.java.opts      mapreduce.reduce.java.opts

请注意有没有直接的Hadoop当量为其中的第一个;在源$ C ​​$ c中的建议是使用另外两个。 MA pred.child.java.opts 仍然支持(但其他两个更具体的设置所覆盖,如果present)。

Note there is no direct Hadoop 2 equivalent for the first of these; the advice in the source code is to use the other two. mapred.child.java.opts is still supported (but is overridden by the other two more-specific settings if present).

补充这些,下面就让你限制总内存(可能是虚拟的),可为您的任务 - 包括堆,栈和类定义:

Complementary to these, the following let you limit total memory (possibly virtual) available for your tasks - including heap, stack and class definitions:

Hadoop 0.x, 1.x (deprecated)       Hadoop 2.x
-------------------------------    --------------------------
mapred.job.map.memory.mb           mapreduce.map.memory.mb
mapred.job.reduce.memory.mb        mapreduce.reduce.memory.mb

我建议设置 -Xmx memory.mb 值的75%。

在纱线集群,作业必须不低于服务器端的配置使用更多的内存 yarn.scheduler.maximum分配-MB ,否则将被杀死。

In a YARN cluster, jobs must not use more memory than the server-side config yarn.scheduler.maximum-allocation-mb or they will be killed.

要检查这些默认值和precedence,请参阅 JobConf MRJobConfig 在Hadoop的源$ C $角

To check the defaults and precedence of these, see JobConf and MRJobConfig in the Hadoop source code.

故障排除

记住,你的马preD-site.xml中可以提供这些设置的默认值。这会引起混乱 - 例如如果你的工作组 MA pred.child.java.opts 编程,这没有任何作用,如果马preD-site.xml中集马preduce.map.java.opts MA preduce.reduce.java.opts 。您将需要设置你的工作的属性,而不是,重写马preD-site.xml中。检查作业的配置页面(搜索XMX')看到已应用价值什么,在哪里,他们都来自

Remember that your mapred-site.xml may provide defaults for these settings. This can be confusing - e.g. if your job sets mapred.child.java.opts programmatically, this would have no effect if mapred-site.xml sets mapreduce.map.java.opts or mapreduce.reduce.java.opts. You would need to set those properties in your job instead, to override the mapred-site.xml. Check your job's configuration page (search for 'xmx') to see what values have been applied and where they have come from.

ApplicationMaster内存

在纱线集群,可以使用以下两种属性的可用内存量控制您ApplicationMaster(持有输入分裂,任务状态等的详细信息):

In a YARN cluster, you can use the following two properties to control the amount of memory available to your ApplicationMaster (to hold details of input splits, status of tasks, etc):

Hadoop 0.x, 1.x                    Hadoop 2.x
-------------------------------    --------------------------
                                   yarn.app.mapreduce.am.command-opts
                                   yarn.app.mapreduce.am.resource.mb

同样,你可以设置 -Xmx (前)在 resource.mb 值的75%

其他配置

有与内存限制等诸多配置,其中一些人去precated - 请参阅 JobConf 类。一个有用的:

There are many other configurations relating to memory limits, some of them deprecated - see the JobConf class. One useful one:

Hadoop 0.x, 1.x (deprecated)       Hadoop 2.x
-------------------------------    --------------------------
mapred.job.reduce.total.mem.bytes  mapreduce.reduce.memory.totalbytes

将其设置为较低的值(10)强制洗牌在你打的事件在磁盘上发生了的OutOfMemoryError MapOutputCopier.shuffleInMemory

这篇关于什么是Hadoop的Apache的纱'MA preduce.map.memory.mb'和'马pred.map.child.java.opts“之间的关系?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆