• hadoop集群默认配置和常用配置


    获取默认配置

    配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生效,上网找的配置可能因为各个hadoop版本不同,导致无法生效。浏览更多的配置,有两个方法:
    1.选择相应版本的hadoop,下载解压后,搜索*.xml,找到core-default.xml,hdfs-default.xml,mapred-default.xml,这些就是默认配置,可以参考这些配置的说明和key,配置hadoop集群。
    2.浏览apache官网,三个配置文件链接如下:
       http://hadoop.apache.org/common/docs/r0.20.2/core-default.html
       http://hadoop.apache.org/common/docs/r0.20.2/hdfs-default.html
       http://hadoop.apache.org/common/docs/r0.20.0/mapred-default.html
       这里是浏览hadoop当前版本号的默认配置文件,其他版本号,要另外去官网找。
    其中第一个方法找到默认的配置是最好的,因为每个属性都有说明,可以直接使用。
    另外,core-site.xml是全局配置,hdfs-site.xml和mapred-site.xml分别是hdfs和mapred的局部配置。

    常用的端口配置

    HDFS端口

    参数 描述 默认 配置文件 例子值
    fs.default.name namenode RPC交互端口。

    指定默认的文件系统,默认端口 8020 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。

     当你通过eclipse运行hadoop指定hdfs上的文件时,就要加上hdfs://namenode作为前缀

    8020 core-site.xml hdfs://master:8020/
    dfs.http.address  NameNode web管理端口 50070  hdfs-site.xml  0.0.0.0:50070
    dfs.datanode.address datanode 控制端口 50010  hdfs-site.xml  0.0.0.0:50010
    dfs.datanode.ipc.address datanode的RPC服务器地址和端口  50020 hdfs-site.xml 0.0.0.0:50020
    dfs.datanode.http.address datanode的HTTP服务器和端口  50075 hdfs-site.xml  0.0.0.0:50075


                  

    MR端口

    参数 描述 默认  配置文件 例子值
    mapred.job.tracker job tracker交互端口  8021 mapred-site.xml hdfs://master:8021/
    mapred.job.tracker.http.address job tracker的web管理端口 50030 mapred-site.xml  0.0.0.0:50030
    mapred.task.tracker.http.address task tracker的HTTP端口 50060 mapred-site.xml 0.0.0.0:50060


                                                
                        
             

    其他端口

    参数 描述  默认  配置文件 例子值
    dfs.secondary.http.address  secondary NameNode web管理端口  50090 hdfs-site.xml 0.0.0.0:28680


                                         

    集群目录配置

    参数 描述  默认  配置文件 例子值
    dfs.name.dir

    name node的上持久化存储元数据和事务日志的路径。,以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉.这个值只对NameNode有效,DataNode并不需要使用到它。在实际应用中,它最好被覆盖掉。

    {hadoop.tmp.dir}

    /dfs/name

    hdfs-site.xm /hadoop/hdfs/name
    dfs.name.edits.dir  node node的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉  ${dfs.name.dir} hdfs-site.xm ${dfs.name.dir}
     fs.checkpoint.dir secondary NameNode的元数据以,号隔开,hdfs会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉

    ${hadoop.tmp.dir}

    /dfs/namesecondary

    core-site.xml /hadoop/hdfs/namesecondary
     fs.checkpoint.edits.dir secondary NameNode的事务文件存储的目录,以,号隔开,hdfs会把事务文件冗余复制到这些目录 ${fs.checkpoint.dir} core-site.xml ${fs.checkpoint.dir}
    hadoop.tmp.dir

    临时目录,其他临时目录的父目录

    hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中

    /tmp/hadoop-${user.name} core-site.xml /hadoop/tmp/hadoop-${user.name}
    dfs.data.dir

    data node的数据目录(存储数据的本地文件系统路径),以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉。如果指定多个目录,则数据库被随机的存放(也就是说同一个datanode上不同目录下的内容不一样,但不同datanode上相同目录下的内容因为数据冗余会完全一样)。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值是hadoop.tmp.dir, 这个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆盖。

    ${hadoop.tmp.dir}

    /dfs/data

    hdfs-site.xm

    /hadoop/hdfs/data1/data,

    /hadoop/hdfs/data2/data

    mapred.local.dir MapReduce产生的中间数据存放目录(作业结束后,数据被清除),以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉

    ${hadoop.tmp.dir}

    /mapred/local

    mapred-site.xml

    /hadoop/hdfs/data1/mapred/local,

    /hadoop/hdfs/data2/mapred/local

    mapred.system.dir MapReduce的控制文件,作业运行期间的存储共享目录的目录,必须是HDFS之上的目录

    ${hadoop.tmp.dir}

    /mapred/system

    mapred-site.xml /hadoop/hdfs/data1/system

    其他配置 

    参数 描述  默认  配置文件 例子值
    dfs.support.append  支持文件append,主要是支持hbase  false hdfs-site.xml true
    dfs.replication  文件复制的副本数,如果创建时不指定这个参数,就使用这个默认值作为复制的副本数  3 hdfs-site.xml 2
    io.file.buffer.size 指定缓冲区的大小,默认4K太小,64k(65536)128k(131072)更为常用 4k core-site.xml  64k
    mapred.child.java.opts JVM选项,默认 -Xmx200m,表示一个jvm最多占用200MB的内存空间      

    原文:http://www.cnblogs.com/ggjucheng/archive/2012/04/17/2454590.html

  • 相关阅读:
    用定时器令P0(或其它IO口)产生多路方波
    边沿触发和电平触发的区别
    mysql数据库学习小结
    线程状态、同步
    java访问修饰符 public protect default private
    注解Responsebody RequestBody RequestMapping
    input标签元素,value属性取值问题,赋值
    java多线程的三种实现方式
    参数添加 dynamo
    Python 第三方库,模块,包的安装方法
  • 原文地址:https://www.cnblogs.com/beanmoon/p/2767014.html
Copyright © 2020-2023  润新知