当我设置mapreduce.task.io.sort.mb=100000时。我得到以下例外。
java.lang.Exception: java.io.IOException: Invalid "mapreduce.task.io.sort.mb": 100000
mapreduce.task.io.sort.mb的最大值是多少?
xzlaal3s1#
我知道这个问题很老了,但是对于那些问同样问题的人,你可以检查一下这个值被封顶的一些bughttp://docs.hortonworks.com/hdpdocuments/hdp2/hdp-2.1.3/bk_releasenotes_hdp_2.1/content/ch_relnotes-hdpch_relnotes-hdp-2.1.1-knownissues-mapreduce.htmlbug-12005:mapreduce.task.io.sort.mb的上限是2047。问题:mapreduce.task.io.sort.mb硬编码为不允许值大于2047。如果输入的值大于此值,则Map任务将始终在此行崩溃:https://github.com/apache/hadoop-mapreduce/blob/hdfs-641/src/java/org/apache/hadoop/mapred/maptask.java?source=cc#l746
643ylb082#
默认情况下为100mb,最高可达2047MB。
ecfdbz9o3#
hadoop-2.6.0 org.apache.hadoop.mapred.maptask.java第427行:不能将mapreduce.task.io.sort.mb设置为超过2047
n1bvdmb64#
“mapreduce.task.io.sort.mb”是排序文件时要使用的缓冲区内存总量(mb)。默认情况下,为每个合并流提供1mb,这将最小化查找。因此,您需要确保集群节点上有100000 mb可用内存。
4条答案
按热度按时间xzlaal3s1#
我知道这个问题很老了,但是对于那些问同样问题的人,你可以检查一下这个值被封顶的一些bug
http://docs.hortonworks.com/hdpdocuments/hdp2/hdp-2.1.3/bk_releasenotes_hdp_2.1/content/ch_relnotes-hdpch_relnotes-hdp-2.1.1-knownissues-mapreduce.html
bug-12005:mapreduce.task.io.sort.mb的上限是2047。
问题:mapreduce.task.io.sort.mb硬编码为不允许值大于2047。如果输入的值大于此值,则Map任务将始终在此行崩溃:
https://github.com/apache/hadoop-mapreduce/blob/hdfs-641/src/java/org/apache/hadoop/mapred/maptask.java?source=cc#l746
643ylb082#
默认情况下为100mb,最高可达2047MB。
ecfdbz9o3#
hadoop-2.6.0 org.apache.hadoop.mapred.maptask.java
第427行:不能将mapreduce.task.io.sort.mb设置为超过2047
n1bvdmb64#
“mapreduce.task.io.sort.mb”是排序文件时要使用的缓冲区内存总量(mb)。默认情况下,为每个合并流提供1mb,这将最小化查找。因此,您需要确保集群节点上有100000 mb可用内存。