YARN参数优化
1、Mapreduce 提交复制
mapreduce.client.submit.file.replication
mapreduce任务数据的副本数,默认是10,比普通HDFS文件的默认幅本数大很多,可能也是考虑到把输入数据放到更多的DN上,尽可能实现本地数据计算,但会增大数据量,更改为1个副本
2、MapReduce 作业的最大尝试次数
MapReduce 作业的最大应用尝试次数。此参数的值覆盖 MapReduce 作业的 ApplicationMaster Maximum Attempts。建议默认值2即可。
3、I/O因子排序
排序文件时要合并的流的数量。也就是说,在 reducer 端合并排序期间要使用的排序头数量。此设置决定打开文件句柄数。并行合并更多文件可减少合并排序迭代次数并通过消除磁盘 I/O 提高运行时间。注意:并行合并更多文件会使用更多的内存。如 'io.sort.factor' 设置太高或最大 JVM 堆栈设置太低,会产生过多地垃圾回收。Hadoop 默认值为 10,建议使用更高值
4、I/O 排序内存缓冲
当排序文件时要使用的内存缓冲总量(以 MB 为单位)。注意:此内存由 JVM 堆栈大小产生(也就是:总用户 JVM 堆栈 - 这些内存 = 总用户可用堆栈空间)。注意:Cloudera 的默认值不同于 Hadoop 的默认值;默认情况下,Cloudera 使用更大的缓冲,因为现代机器通常有更多的 RAM。所有 TaskTrackers 中的最小值将成为生成的客户端配置的一部分。
5、I/O 排序溢出百分比
软限制在缓冲或记录收集缓冲。达到此限制时,线程