Hadoop集群优化手记
<property><name>mapred.min.split.size</name><value>268435456</value> <description>决定了每个 Input Split的最小值,也间接决定了一个Job的map 数目。 这里设置为256M,默认64M,有效减少了map的数量,因为在大数据量时, map数量过大并不一定速度就快,而1个进程处理256M数据也是很快的</description></property><property><name>mapred.compress.map.output</name><value>true</value> <description>打开map输出压缩以节省各节点传输的流量</description></property><property><name>io.sort.mb</name><value>250</value> <description>map输出结果在内存占用buffer的大小,当buffer达到一定阈值, 会启动一个后台线程来对buffer的内容进行排序,然后写入本地磁盘(一个spill文件).默认100M, 有点小了,但并不是越大越好,尝试过调到400M,发现机器内存有点吃不消,又回调到250M</description></property><property><name>mapred.reduce.parallel.copies</name><value>10</value> <description>Reduce copy数据的线程数量,默认值是5</description></property><property><name>mapred.job.shuffle.merge.percent</name><value>0.8</value> <description>从Map节点取数据过来,放到内存,当达到这个阈值之后, 后台启动线程(通常是Linux native process)把内存中的数据merge sort, 写到reduce节点的本地磁盘;</description></property>
http://www.duyifan.com/?cat=1