您的位置:首页 > 运维架构

hadoop集群目录配置与注意事项

2012-11-19 17:38 387 查看
一、目录配置参数说明

参数描述备注位置
hadoop.tmp.dir临时目录,其它临时目录的父目录。本地或hdfs
dfs.name.dirnameNode的元数据(fsimage)存储目录。以逗号隔开,hdfs会把数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉。namenode本地
dfs.name.edits.dirnameNode的事务日志(edits)存储目录。
fs.checkpoint.dirsecondaryNamenode的元数据(fsimage)存储目录。以逗号隔开,hdfs会把数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉。secondarynamenode本地
fs.checkpoint.edits.dirsecondaryNamenode的事务日志(edits)存储目录。
dfs.data.dirdataNode的数据目录以逗号隔开,hdfs会把数据存储在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉。datanode本地
mapred.local.dirMapReduce产生的中间数据存放目录。Jobtracker存放job中间数据,tasktracker存放task中间数据以逗号隔开,hdfs会把数据存储在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉。jobtracker/tasktracker本地
mapred.temp.dirmapreduce临时共享文件存放目录,用于各个task用到的共享文件hdfs
mapred.system.dirmapreduce执行时的共享目录,用于存储job执行时的一些控制信息hdfs
mapred.job.tracker

.persist.jobstatus.dir
job状态信息持久存放目录与mapred.job.tracker.persist.jobstatus.hours,mapred.job.tracker.persist.jobstatus.active两个参数配合使用jobtracker本地或hdfs
mapreduce.jobtracker

.staging.root.dir
每个正在运行的作业文件存放区(job.jar ob.split job.splitmetainfo job.xml libjars等)hdfs
二、注意事项:

1、与mapred.local.dir相关的参数

* mapred.local.dir.minspacestart:在mapreduce运行任务之前,检查temporary 目录下是否还有该选项配置的空闲空间,如果少于该配置,则map或reduce task不会分配到该TaskTracker上,以避免由于磁盘空间不足导致的task失败。默认设置为0,disable该功能

* mapred.local.dir.minspacekill:如果该磁盘卷下剩余的磁盘空间不足该配置,则将正在运行的Task 杀掉。默认为0,diabled该功能

另,如果服务器有多个块设备最好将mapred.local.dir设置成多个目录,每个目录对应一个块设备,这样多个task在同一个TaskTracker上运行的时候,就可以分别写不同的磁盘写入点,以增大作业运行的磁盘吞吐率。

2、与dfs.data.dir相关的参数

* dfs.datanode.du.reserved:dfs写文件块时,如果当前datanode上的dfs.data.dir下剩余磁盘空间不足该选项配置的空间大小,就不往该datanode继续写数据块

* dfs.datanode.du.pct:同dfs.datanode.du.reserved,不过配置值为一个百分比(注:从0.19版本开始已经没有这个参数了)

最好预留些空间,避免写文件失败。

3、建议配额

mapred.local.dir.minspacestart = slots * dfs.block.size

mapred.local.dir.minspacekill = slots/2 * dfs.block.size

dfs.datanode.du.reserved = dfs.block.size * dfs.replication #最少留这么多吧,建议留大些。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: