获取默认配置
配置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 |
参数 | 表示含义 |
dfs.https.enable | 是否启用https服务 |
dfs.https.need.client.auth | https服务是否需要检查客户端权限,默认为false |
dfs.datanode.https.address | https地址 |
dfs.datanode.scan.period.hours | 数据块扫描阶段间隔时间 |
dfs.heartbeat.interval | 心跳报告间隔时间(设置时用s表示,内部转换为ms) |
dfs.blockreport.initialDelay | 初始化数据块报告延迟时间设置时用s表示,内部转换为ms) |
dfs.blockreport.intervalMsec | 数据块报告间隔时间(ms) |
dfs.datanode.simulateddatastorage | 是否伪分布式存储(true/flase) |
dfs.datanode.transferTo.allowed | 是否允许传输(true/false) |
dfs.datanode.socket.write.timeout | 套接字写入超时时间(ms) |
dfs.socket.timeout | 套接字超时时间(ms) |
dfs.datanode.dns.interface | |
dfs.datanode.dns.nameserver | |
slave.host.name | slave主机名 |
dfs.support.append | |
dfs.datanode.artificialBlockReceivedDelay | 允许推迟发送blockReceived RPCs信号时间 |
dfs.https.need.client.auth | |
dfs.https.server.keystore.resource | ssl认证的资源,ssl-server.xml |
dfs.datanode.https.address | |
dfs.https.enable | |
hadoop.security.authorization | hadoop权限认证 |
dfs.datanode.ipc.address | ipc地址 |
dfs.datanode.handler.count | datannode节点的指令信息 |