获取默认配置
配置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 | 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会把元数据冗余复制到这些目录,一般这些目录是不同的块设备,不存在的目录会被忽略掉 | {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 | 临时目录,其他临时目录的父目录 | /tmp/hadoop-${user.name} | core-site.xml | /hadoop/tmp/hadoop-${user.name} |
dfs.data.dir | data node的数据目录,以,号隔开,hdfs会把数据存在这些目录下,一般这些目录是不同的块设备,不存在的目录会被忽略掉 | ${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的控制文件 | ${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 |