码迷,mamicode.com
首页 > 其他好文 > 详细

hadoop配置文件说明

时间:2015-03-21 17:17:02      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:

1、dfs.hosts 记录即将作为datanode加入集群的机器列表
2、mapred.hosts 记录即将作为tasktracker加入集群的机器列表
3、dfs.hosts.exclude mapred.hosts.exclude 分别包含待移除的机器列表
4、master 记录运行辅助namenode的机器列表
5、slave 记录运行datanode和tasktracker的机器列表
6、hadoop-env.sh 记录脚本要用的环境变量,以运行hadoop
7、core-site.xml hadoop core的配置项,例如hdfs和mapreduce常用的i/o设置等
8、hdfs-site.xml hadoop守护进程的配置项,包括namenode、辅助namenode和datanode等
9、mapred-site.xml mapreduce守护进程的配置项,包括jobtracker和tasktracker
10、hadoop-metrics.properties 控制metrics在hadoop上如何发布的属性
11、log4j.properties 系统日志文件、namenode审计日志、tasktracker子进程的任务日志的属性



hadoop的集群配置中,大部分都用的默认设置,如果想要提高整个集群的性能,可以考虑通过修改配置的方法实现,配置项大部分都配置在这三个文件里:core_site.xml, hdfs_site.xml, mapred_site.xml, 下面将经常会用到的配置项总结如下:(待补充)

 

core_site.xml

fs.default.name

说明: Name Node的URI

value: hdfs://hostname:port/

备注:hostname要用主机名或域名,不能使用ip

 

fs.trash.interval

说明:hadoop垃圾回收机制,每隔多长时间清理一次垃圾

value:1440

备注:默认值是0,不打开垃圾收回机制。删除掉的文件将直接清除,不保存。如果设置了,则将保存到本地的.crash文件夹下。

 

fs.checkpoint.dir 

说明:本地文件系统DFS secondaryname节点存储临时图像目录

value:/disk2/cloudera/hadoop/dfs/namesecondary

备注:用于:hadoop namenode -importCheckpoint,从检查点目录装载镜像并保存到当前检查点目录,检查点目录由fs.checkpoint.dir指定。

 

hadoop.tmp.dir

说明:Hadoop的默认临时文件存放路径

value:/home/hadoop/hadoop/tmp

备注:这个最好配置,如果在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。

不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令

 

io.file.buffer.size

说明:读写序列文件缓冲区大小

value:16384

备注:值应该设置为硬件页面大小的倍数,默认设置为4096,请设置为4096的倍数

 

io.bytes.per.checksum

说明:

value:

备注:

 

io.skip.checksum.errors  

说明:

value:

备注:

 

io.compression.codecs      

说明:

value:

备注:

 

io.serializations 

说明:

value:

备注:

hdfs_site.xml

dfs.name.dir

说明:设定DFS Name节点中的命名空间表格文件,在本地系统中的保存位置。 可以设置多个,通过","分隔,fsimage文件,会被复制到多个路径中,用于备份。

value:/home/hadoop/hadoop/name

备注:其中的一个路径,可以利用nfs映射到我们的共享文件夹下,形成异地备份

 

dfs.data.dir

说明:设定DFS Data节点中的数据块在本地系统中的保存位置。可以设置多个,通过 "," 分隔。设置的文件夹如果不存在,将被忽略。

value:/home/hadoop/data1, /home/hadoop/data2

备注:

 

dfs.replication

说明:缺省的文件块被复制的次数。在文件被创建的时候可以指定复制的块数,如果在创建的时候没有指定,则使用该缺省值。

value:3

备注:

 

dfs.block.size

说明:新文件被分隔的缺省块容量。

value:268435456

备注:必须是512的倍数

 

dfs.datanode.max.xcievers

说明:datanode所允许同时执行的发送和接受任务的数量 

value:10240

备注:默认是256.该值太小。可以修改为10240

 

dfs.web.ugi

说明:hadoop的web界面访问权限设置。

value:hadoop,hadoop

备注:value语法:用户名,用户组 

             如何设置: 
             hadoop fs -chmod (修改文件所有者,文件所属组,其他用户的读、写、执行权限) 
             haddop fs -chown  (修改文件所有者) 
             hadoop fs -chgrp   (修改文件所属组) 

 

dfs.permissions

说明:对HDFS是否启用认证。

value:true

备注:默认为true

 

dfs.permissions.supergroup

说明:超级用户组名称

value:supergroup

备注:

 

dfs.safemode.threshold.pct

说明:启动的时候,NameNode会等待所有的datanode报告block状态,查看所有的block的副本是否达到最低要求,当报告合格的数量达到设置的值,则退出safemode。 

value:0.95f

备注:默认为0.999f

 

dfs.safemode.extension

说明:Namenode在合格的datanode数目达到要求的时候,并不是马上离开safemode状态,会有一个扩展时间,让剩余的 datanode来报告block信息,这个扩展时间默认是30秒,单位是毫秒。

value:30000

备注:时间默认是30秒,单位是毫秒

 

dfs.balance.bandwidthPerSec

说明:用于平衡数据。每秒平衡数据量最大带宽。可以放大。 

value:10485760

备注:默认是10485760

 

dfs.replication.min

 

说明:创建文件时的最小复制数。主要用于dfs.safemode.threshold.pct

value:1

备注:默认为1

 

dfs.datanode.handler.count

说明:datanode上用于处理RPC的线程数。

value:3

备注:默认为3,较大集群,可适当调大些,比如8。需要注意的是,每添加一个线程,需要的内存增加。

 

dfs.datanode.du.reserved

说明:表示在datanode对磁盘写时候,保留多少非dfs的磁盘空间, 从而避免dfs将所在的磁盘写满 

value:10737418240

备注:默认为0,单位是字节

 

dfs.df.interval

说明:磁盘使用统计刷新时间间隔,单位毫秒

value:60000

备注:默认是60000,单位是毫秒

 

dfs.namenode.handler.count

 

说明:namenode的rpc调用线程数。

value:10

备注:默认是10

 

 

dfs.namenode.plugins

说明:

value:

备注:

 

dfs.datanode.plugins

说明:

value:

备注:

 

dfs.thrift.address

说明:

value:

备注:

 

dfs.hosts/dfs.hosts.exclude

说明:Data Node白名单/黑名单文件
value:
备注:

mapred_site.xml

mapred.job.tracker

说明:JobTracker的地址

value:

备注:格式为 hostname:port

 

mapred.local.dir

说明:运行 mapreduce 中间结果存储处,保存MapReduce临时文件的本地目录

value:

备注:可设置多个,用逗号分隔

 

mapred.system.dir

说明:HDFS上MapReduce保存系统文件的目录

value:

备注:

 

mapred.job.tracker.handler.count

说明: jobtracker同时与tasktracker通信的线程数

value:

备注:

 

mapreduce.jobtracker.staging.root.dir

说明:

value:

备注:

 

mapred.temp.dir

说明:

value:

备注:

 

mapred.child.java.opts

说明:设置JVM堆的最大可用内存,需从应用程序角度进行配置。

value:

备注:

 

mapred.tasktracker.map.tasks.maximum

说明:tasktracker上同时运行的map的最大数量

value:2

备注:默认为2

 

mapred.tasktracker.reduce.tasks.maximum

说明:tasktracker上同时运行的task的最大数量

value:2

备注:默认为2

 

mapred.hosts/mapred.host.exclude

说明:MapReduce白名单/黑名单文件

value:

备注:

 

mapred.queue.names
说明: 队列名

value:
备注: hadoop MapReduce系统默认有一个"default"的Job队列(pool).

 

mapred.map.tasks.speculative.execution

说明:

value:

备注:

 

mapred.reduce.tasks.speculative.execution

说明:

value:

备注:

 

io.sort.mb

说明:排序使用的最大内存

value:

备注:

 

io.sort.factor

说明: 排序因子。同时合并的数据流的数量

value:

备注:当一个map task执行完之后,本地磁盘上(mapred.local.dir)有若干个spill文件,merge sort 把这些文件合成一个。执行merge sort的时候,每次同时打开多少个spill文件由该参数决定。 打开的文件越多,不一定merge sort就越快,所以要根据数据情况适当的调整。

 

keep.failed.task.files

说明:

value:

备注:

 

mapred.job.reuse.jvm.num.tasks

说明:

value:

备注:

 

mapred.child.env

说明:

value:

备注:

 

mapred.child.ulimit 

说明:

value:

备注:

 

mapred.output.compress/mapred.compress.map.output

说明:中间结果和最终结果是否要进行压缩,如果是,指定压缩方式(Mapred.compress.map.output.codec/ Mapred.output.compress.codec)。 推荐使用LZO压缩。Intel内部测试表明,相比未压缩,使用LZO压缩的 TeraSort作业,运行时间减少60%,且明显快于Zlib压缩。 

value

备注:

 

tasktracker.http.threads

说明:HTTP server上的线程数。运行在每个TaskTracker上, 用于处理map task输出。

value:8

备注:tasktracker开http服务的线程数。用于reduce拉取map输出数据,大集群可以将其设为40~50。 

 

fs.inmemory.size.mb

说明:reducer在合并map输出数据使用的内存空间

value:

备注: 默认使用200M 

 

mapred.reduce.parallel.copies

说明:reducer同时从mapper上拉取的文件数

value:

备注:

 

mapred.output.compression.codec

说明:

value:

备注:

 

mapred.map.output.compression.codec

说明:

value:

备注:

 

jobtracker.thrift.address

说明:

value:

备注:

 

mapred.jobtracker.plugins

说明:

value:

备注:


hadoop配置文件说明

标签:

原文地址:http://my.oschina.net/u/923508/blog/389755

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!