我已经使用Cloudera Manager 5.5.1建立了一个新的集群,这两个名为mapreduce.map.java.opts.max.heap
和mapreduce.reduce.java.opts.max.heap
的属性与其他两个属性mapreduce.map.java.opts
和mapreduce.reduce.java.opts
似乎不明确。
我应该使用前者还是后者?
两者的意思相同。指定这些值的方式不同。
我想mapreduce.map.java.opts.max.heap
和mapreduce.reduce.java.opts.max.heap
是Cloudera发行版特有的。请参阅:调谐纱线。
mapreduce.map.java.opts
和mapreduce.reduce.java.opts
是标准Hadoop配置的一部分。请在此处查看Hadoop主干代码:MrJobConfig.java
此外,如果您在此处提及机票:https://issues.cloudera.org/browse/DISTRO-752,讨论了如何设置这些值。
例如,mapreduce.map.java.opts.max.heap
和mapreduce.reduce.java.opts.max.heap
被指定为(983 MB):
<property>
<name>mapreduce.map.java.opts.max.heap</name>
<value>983</value>
</property>
<property>
<name>mapreduce.reduce.java.opts.max.heap</name>
<value>983</value>
</property>
mapreduce.map.java.opts
和mapreduce.reduce.java.opts
被指定为:(983 MB)(我使用这些设置)
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx983m</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx983m</value>
</property>
观察数值的差异。一个被设置为"983",另一个设置为"-Xmx983m"
我应该使用前者还是后者?
答案取决于您是否在CM中使用它们。
如果在CM中,那么mapreduce.map/reduce.java.opts.max.heap更可取,因为它是精确调整reducer/mapper堆的参数。mapreduce.map/reducers.java.opts更通用,如果您只想设置堆内存,也需要添加-Xmx。
若你们打算在其他地方使用,那个么答案是不要使用它。因为除了Cloudera Manager,它在任何地方都不存在。阅读中的评论https://issues.cloudera.org/browse/DISTRO-752-Cloudera很可能会删除该参数名称和dix文档,以避免混淆。