ITPub博客

首页 > 大数据 > Hadoop > hadoop-集群管理(4)——关键属性

hadoop-集群管理(4)——关键属性

Hadoop 作者:thamsyangsw 时间:2014-08-19 14:09:55 0 删除 编辑

hadoop中的配置属性非常多,这里只讨论关键属性,它们分散在3个文件中:core-site.xml、hdfs-site.xml、mapred-site.xml。

1. core-site.xml


 
    fs.default.name
    hdfs://Route:9000
    true
 

运行HDFS需要指定一台机器为namenode,通过参数 fs.default.name 来设置。它还指定了文件系统为HDFS。

2. hdfs-site.xml


  
    dfs.replication
    2
  

  
    dfs.name.dir
    /home/tianyc/hadoop-1.0.4/dir_namenode/dir1,/home/tianyc/hadoop-1.0.4/dir_namenode/dir2
  

  
    dfs.data.dir
    /home/tianyc/hadoop-1.0.4/dir_datanode/dir1,/home/tianyc/hadoop-1.0.4/dir_datanode/dir2
  

  
    dfs.checkpoint.dir
    /home/tianyc/hadoop-1.0.4/dir_secondarynamenode/dir1,/home/tianyc/hadoop-1.0.4/dir_secondarynamenode/dir2
  

  • dfs.replication:确定数据块被复制的份数。
  • dfs.name.dir:指定一系列目录来供namenode存储永久性的文件系统元数据(编辑日志和文件系统映像),这些元数据文件会同时备份在所有指定的目录中,形成冗余。建议指定一个本地磁盘目录,指定一个远程磁盘目录(例如NFS挂载磁盘),这样本地磁盘故障或namenode节点宕机后,都可以恢复并重构新的namenode。注意secondrynamenode只是定期保存namenode的检查点,并不提供namenode的最新备份。
  • dfs.data.dir:指定datanode存储数据的一系列目录。注意这里不是为了冗余,而是循环地在各个目录中写数据。因此,为了提高性能,最好分别为各个本地磁盘指定一个存储目录,使得数据块跨磁盘分布。这样,针对不同数据块的读操作可以并发执行,从而提升读性能。另一个显著提升的操作是在mount这些磁盘时,使用noatime选项,使得不刷新所读文件的最新访问时间。
  • dfs.checkpoint.dir:指定一系列目录来存储secondarynamenode的检查点映像文件。与namenode相同,这里的一系列目录也是为了冗余。

注意:如果不设置这些属性,HDFS的存储目录默认存放在hadoop的临时目录中(由core-site.xml文件中的 Hadoop.tmp.dir属性指定)。而如果清除了系统的临时目录,数据就会丢失。Hadoop.tmp.dir 属性的参考设置如下:

[tianyc@Route bin]$ cat ../conf/core-site.xml

<!-- Put site-specific property overrides in this file. -->


  
    fs.default.name
    hdfs://Route:9000
  

  
    Hadoop.tmp.dir
    /tmp/hadoop-tianyc
  

 3. mapred-site.xml


  
    mapred.job.tracker
    Route:9001
    true
  

  
    mapred.local.dir
    /home/tianyc/hadoop-1.0.4/dir_local/dir1,/home/tianyc/hadoop-1.0.4/dir_local/dir2
  

  
    mapred.system.dir
    /tmp/hadoop-tianyc/dir_system
  

  
    mapred.tasktracker.map.tasks.maximum
    2
  

  
    mapred.tasktracker.reduce.tasks.maximum
    2
  

  
    mapred.child.java.opts
    -Xmx200m
  

  • mapred.job.tracker:指定jobtracker节点。这里不是URL格式,而是“主机:端口”格式。
  • mapred.local.dir:临时本地文件的一系列目录,存储mapreduce作业执行过程中产生的中间数据和工作文件。由于这里也存储map任务的输出数据,数据量可能非常大,因此必须保证这里的容量足够大。这些目录最好分散到各个本地磁盘以提升I/O,通常会使用与datanode相同的磁盘和分区(但不同目录)。
  • mapred.system.dir:指定一个目录,来存储运行mapreduce任务的各个tasktracker的共享文件(例如作业JAR文件)。
  • mapred.tasktracker.map.tasks.maximum:最大map任务数。
  • mapred.tasktracker.reduce.tasks.maximum:最大reduce任务数。
  • mapred.child.java.opts:tasktracker中子JVM的有效内存大小。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26613085/viewspace-1253881/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-01-12

  • 博文量
    161
  • 访问量
    1235416