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

一、目录配置参数说明

参数   描述   备注   位置  
Hadoop.tmp.dir   临时目录,其它临时目录的父目录。   本地或hdfs  
dfs.name.dir   nameNode的元数据(fsimage)存储目录。   以逗号隔开,hdfs会把数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉。   namenode本地  
dfs.name.edits.dir   nameNode的事务日志(edits)存储目录。  
fs.checkpoint.dir   secondaryNamenode的元数据(fsimage)存储目录。   以逗号隔开,hdfs会把数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉。   secondarynamenode本地  
fs.checkpoint.edits.dir   secondaryNamenode的事务日志(edits)存储目录。  
dfs.data.dir   dataNode的数据目录   以逗号隔开,hdfs会把数据存储在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉。   datanode本地  
mapred.local.dir   MapReduce产生的中间数据存放目录。Jobtracker存放job中间数据,tasktracker存放task中间数据   以逗号隔开,hdfs会把数据存储在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉。   jobtracker/tasktracker本地  
mapred.temp.dir   mapreduce临时共享文件存放目录,用于各个task用到的共享文件       hdfs  
mapred.system.dir   mapreduce执行时的共享目录,用于存储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,不过配置值为一个百分比
最好预留些空间,避免写文件失败。

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 #最少留这么多吧,建议留大些。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/fbeb6d8b30c170580a08f1f5541affcc.html