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

原文地址:https://www.cnblogs.com/beanmoon/p/2767014.html