配置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
{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