map和reduce任务各参数参考

来源:互联网 发布:将java文件打包成jar 编辑:程序博客网 时间:2024/06/14 08:12

mapreduce的物理配置
合适的slot(hadoop的资源单位(槽位))
-单机map、reduce个数
-内存
-cpu
-多机集群分离(耦合度低)
磁盘情况
-合适单机多磁盘
-mapred.local.dir(在hadoop的核心配置中core-site.xml)和dfs.data.dir(在hadoop的hdfs-site.xml)

确定map任务数时依次优先考虑一下几个原则:
-每个map任务使用的内存不超过800M,尽量在500M以下
-每个map任务处理的最大数据量为一个hdfs块大小(最大为256MB)一个map处理的输入不能跨文件
-map任务总数不超过平台可用的任务槽位

配置加载问题
-简单配置通过-file分发
-复杂的较大配置
·传入hdfs
·map中代开文件读取
·建立内存结构

map的份数为split的份数
压缩文件不可切分
分压缩文件和sequence(序列)文件可以切分
dfs.block.size决定每个块的大小

确定reduce任务数时依次优先参考如下几个方面:
-每个reduce任务使用的内存不超过800M,尽量在500M以下
-每个reduce任务处理的数据量控制在500MB以内
-map任务数和reduce任务数的乘积

reduce个数设置、
-mapred.reduce.task
-默认为1

reduce个数太小
-单词执行慢
-出错再试成本高

reduce个数太多
-shuffle开销大
-输出大量小文件

对于单个mapreduce

-map个数最好为集群slot的倍数
-reduce个数最好为集群slot的个数、倍数

多个mapreduce
-节奏控制

原创粉丝点击