什么是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?
问题描述
我想知道 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屋!