首页 > 代码库 > Hadoop配置项整理(mapred-site.xml)

Hadoop配置项整理(mapred-site.xml)

 

namevalueDescription
hadoop.job.history.location job历史文件保存路径,无可配置参数,也不用写在配置文件里,默认在logs的history文件夹下。
hadoop.job.history.user.location 用户历史文件存放位置
io.sort.factor30这里处理流合并时的文件排序数,我理解为排序时打开的文件数
io.sort.mb600排序所使用的内存数量,单位兆,默认1,我记得是不能超过mapred.child.java.opt设置,否则会OOM
mapred.job.trackerhadoopmaster:9001连接jobtrack服务器的配置项,默认不写是local,map数1,reduce数1
mapred.job.tracker.http.address0.0.0.0:50030jobtracker的tracker页面服务监听地址
mapred.job.tracker.handler.count15jobtracker服务的线程数
mapred.task.tracker.report.address127.0.0.1:0tasktracker监听的服务器,无需配置,且官方不建议自行修改
mapred.local.dir/data1/hdfs/mapred/local,
/data2/hdfs/mapred/local,
...
mapred做本地计算所使用的文件夹,可以配置多块硬盘,逗号分隔
mapred.system.dir/data1/hdfs/mapred/system,
/data2/hdfs/mapred/system,
...
mapred存放控制文件所使用的文件夹,可配置多块硬盘,逗号分隔。
mapred.temp.dir/data1/hdfs/mapred/temp,
/data2/hdfs/mapred/temp,
...
mapred共享的临时文件夹路径,解释同上。
mapred.local.dir.minspacestart1073741824本地运算文件夹剩余空间低于该值则不在本地做计算。字节配置,默认0
mapred.local.dir.minspacekill1073741824本地计算文件夹剩余空间低于该值则不再申请新的任务,字节数,默认0
mapred.tasktracker.expiry.interval60000TT在这个时间内没有发送心跳,则认为TT已经挂了。单位毫秒
mapred.map.tasks2默认每个job所使用的map数,意思是假设设置dfs块大小为64M,需要排序一个60M的文件,也会开启2个map线程,当jobtracker设置为本地是不起作用。
mapred.reduce.tasks1解释同上
mapred.jobtracker.restart.recovertrue | false重启时开启任务恢复,默认false
mapred.jobtracker.taskSchedulerorg.apache.hadoop.mapred.
CapacityTaskScheduler

org.apache.hadoop.mapred.
JobQueueTaskScheduler

org.apache.hadoop.mapred.
FairScheduler
重要的东西,开启任务管理器,不设置的话,hadoop默认是FIFO调度器,其他可以使用公平和计算能力调度器
mapred.reduce.parallel.copies10reduce在shuffle阶段使用的并行复制数,默认5
mapred.child.java.opts

-Xmx2048m

-Djava.library.path=
/opt/hadoopgpl/native/
Linux-amd64-64

每个TT子进程所使用的虚拟机内存大小
tasktracker.http.threads50TT用来跟踪task任务的http server的线程数
mapred.task.tracker.http.address0.0.0.0:50060TT默认监听的httpIP和端口,默认可以不写。端口写0则随机使用。
mapred.output.compresstrue | false任务结果采用压缩输出,默认false,建议false
mapred.output.compression.codecorg.apache.hadoop.io.
compress.DefaultCodec
输出结果所使用的编解码器,也可以用gz或者bzip2或者lzo或者snappy等
mapred.compress.map.outputtrue | falsemap输出结果在进行网络交换前是否以压缩格式输出,默认false,建议true,可以减小带宽占用,代价是会慢一些。
mapred.map.output.compression.codeccom.hadoop.compression.
lzo.LzoCodec
map阶段压缩输出所使用的编解码器
map.sort.classorg.apache.hadoop.util.
QuickSort
map输出排序所使用的算法,默认快排。
mapred.hostsconf/mhost.allow允许连接JT的TT服务器列表,空值全部允许
mapred.hosts.excludeconf/mhost.deny禁止连接JT的TT列表,节点摘除是很有作用。
mapred.queue.namesETL,rush,default配合调度器使用的队列名列表,逗号分隔
mapred.tasktracker.map.
tasks.maximum
12每服务器允许启动的最大map槽位数。
mapred.tasktracker.reduce.
tasks.maximum
6每服务器允许启动的最大reduce槽位数

 

捡一些比较重要的,用的多的配置,官网建议的专家配置项基本没写上,改坏了就不好玩了。

Hadoop配置项整理(mapred-site.xml)