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

时间:2022-12-09 07:18:43

本文转自:http://slaytanic.blog.51cto.com/2057708/1101360

name value Description
hadoop.job.history.location   job历史文件保存路径,无可配置参数,也不用写在配置文件里,默认在logs的history文件夹下。
hadoop.job.history.user.location   用户历史文件存放位置
io.sort.factor 30 这里处理流合并时的文件排序数,我理解为排序时打开的文件数
io.sort.mb 600 排序所使用的内存数量,单位兆,默认1,我记得是不能超过mapred.child.java.opt设置,否则会OOM
mapred.job.tracker hadoopmaster:9001 连接jobtrack服务器的配置项,默认不写是local,map数1,reduce数1
mapred.job.tracker.http.address 0.0.0.0:50030 jobtracker的tracker页面服务监听地址
mapred.job.tracker.handler.count 15 jobtracker服务的线程数
mapred.task.tracker.report.address 127.0.0.1:0 tasktracker监听的服务器,无需配置,且官方不建议自行修改
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.minspacestart 1073741824 本地运算文件夹剩余空间低于该值则不在本地做计算。字节配置,默认0
mapred.local.dir.minspacekill 1073741824 本地计算文件夹剩余空间低于该值则不再申请新的任务,字节数,默认0
mapred.tasktracker.expiry.interval 60000 TT在这个时间内没有发送心跳,则认为TT已经挂了。单位毫秒
mapred.map.tasks 2 默认每个job所使用的map数,意思是假设设置dfs块大小为64M,需要排序一个60M的文件,也会开启2个map线程,当jobtracker设置为本地是不起作用。
mapred.reduce.tasks 1 解释同上
mapred.jobtracker.restart.recover true | false 重启时开启任务恢复,默认false
mapred.jobtracker.taskScheduler org.apache.hadoop.mapred.
CapacityTaskScheduler

org.apache.hadoop.mapred.
JobQueueTaskScheduler

org.apache.hadoop.mapred.
FairScheduler

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

-Xmx2048m

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

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

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

本文出自 “实践检验真理” 博客,谢绝转载!