Hadoop配置相关---HDFS

Hadoop版本:Hadoop-1.2.1
说明:缺省值为N/A是指在程序中没有指定,而不是在datanode-default.xml等缺省配置文件中没有设置。


FileSystem

属性 缺省值 说明
fs.default.name file:/// FileSystem.get获取文件系统,默认为本地文件系统
fs.%s.impl.disable.cache false 其中%s为对应的URI协议,如file,hdfs等,对应相应的文件系统使用缓存,具体见Hadoop抽象文件系统
fs.%s.impl null 其中%s为对应的URI协议,如file,hdfs等,为文件系统实现类
io.file.buffer.size 4096 创建文件缓冲大小
fs.local.block.size 32*1024*1024(32MB) 创建文件缺省区块大小

ChecksumFileSystem

属性 缺省值 说明
io.bytes.per.checksum 512 源数据一个块的大小,一个块计算校验和为4个字节

InMemoryFileSystem

属性 缺省值 说明
fs.inmemory.size.mb 100MB 内存文件系统大小

DataNode

属性 缺省值 说明
dfs.data.dir N/A DataNode存储目录,可以有多个目录以”,”分隔
dfs.datanode.data.dir.perm 755 DataNode存储目录的权限
dfs.datanode.numblocks 64 DataNode目录下区块文件最大的数目,超过时创建子目录
dfs.datanode.failed.volumes.tolerated 0 能够容忍失效存储目录的个数
dfs.datanode.du.reserved 0 存储目录预留空间
dfs.durable.sync true 为true时,DataNode启动若发现blocksBeingWritten存在,将其中的区块信息更新到volumeMap和ongoingCreates中,否则删除
slave.host.name N/A DataNode机器名
dfs.datanode.dns.interface default DataNode通过slave.host.name获取机器名失败时,通过DNS查询机器名的网络接口,如eth0
dfs.datanode.dns.nameserver default DataNode通过DNS查询机器名的DNS服务器
dfs.namenode.servicerpc-address N/A NameNode的RPC地址
dfs.namenode.rpc-address N/A NameNode的RPC地址(过时的)
dfs.socket.timeout 60 * 1000(1min) 流操作连接或读超时时间
dfs.datanode.socket.write.timeout 8 60 1000(8min) 流操作写超时时间
dfs.datanode.transferTo.allowed true 是否使用”零拷贝”传输
dfs.write.packet.size 64*1024(64KB) 写数据时一个包的大小
dfs.datanode.address N/A 流服务地址(包括端口)
dfs.datanode.bindAddress N/A 老的流服务地址(不包括端口)
dfs.datanode.port N/A 老的流服务端口
dfs.datanode.startup -regular 启动方式
dfs.datanode.max.xcievers 256 流服务最大线程数
dfs.balance.bandwidthPerSec 1024*1024(1MB/s) 流服务节流器带宽
dfs.blockreport.intervalMsec 60*60*1000(1h) 向NameNode报告区块信息的周期
dfs.blockreport.initialDelay 0(单位s) 第一次向NameNode报告区块信息的延时
dfs.heartbeat.interval 3(单位s) 向NameNode的心跳周期
dfs.datanode.scan.period.hours 0,小于等于0时为21*24h,3周 区块扫描器扫描周期
dfs.datanode.http.address N/A DataNode HTTP服务器地址(包括端口)
dfs.datanode.info.bindAddress N/A 以前使用的DataNode HTTP服务器地址(不包括端口)
dfs.datanode.info.port N/A 以前使用的Data HTTP服务器端口
dfs.datanode.ipc.address N/A DataNode对外(DataNode和Client)提供RPC服务的地址(包括端口)
dfs.datanode.handler.count 3 DataNode RPC服务中处理器线程数目
dfs.datanode.plugins ServicePlugin DataNode插件

NameNode

属性 缺省值 说明
dfs.name.dir /tmp/hadoop/dfs/name NameNode命名空间镜像位置,可以有多个目录
dfs.name.edits.dir /tmp/hadoop/dfs/name NameNode编辑日志位置,可以有多个,可以不和命名空间镜像一样
dfs.info.bindAddress N/A 旧的HTTP地址
dfs.info.bindAddress N/A 旧的HTTP端口
dfs.http.address N/A 新的HTTP服务地址,包括端口
dfs.namenode.decommission.interval 30(单位s) FSNamesystem的DecommissionManager.Monitor线程检查处于DECOMMISSION_INPROGRESS状态数据节点的周期,在所有区块副本达到期望值时更新为DECOMMISSIONED状态
dfs.namenode.decommission.nodes.per.interval 5 FSNamesystem的DecommissionManager.Monitor线程一个周期内检查DataNode的个数
dfs.replication.interval 3(单位s) FSNamesystem的ReplicationMonitor操作周期
dfs.namenode.replication.work.multiplier.per.iteration 2 ReplicationMonitor线程每次处理复制操作,每个数据节点处理的区块数目
dfs.namenode.invalidate.work.pct.per.iteration 0.32 ReplicationMonitor线程每次处理删除操作,占总的数据节点百分比
heartbeat.recheck.interval 5*60*1000(5min) HeartbeatMonitor线程心跳检查周期
dfs.block.access.key.update.interval 600*60*1000(10h) HeartbeatMonitor线程更新口令周期,需要dfs.block.access.token.enable使能才会执行更新操作
dfs.block.access.token.enable false HeArtbeatMonitor是否执行口令更新
dfs.namenode.stale.datanode.interval 30*1000(30s) 数据节点成旧(stale)时间(没发送心跳)
dfs.namenode.stale.datanode.minimum.interval 3 数据节点最小成旧(stale)时间与心跳周期的比值,即陈旧时间不会小于心跳周期的3倍
dfs.hosts N/A 可以连接到名字节点的数据节点列表
dfs.hosts.exclude N/A 不能连接到名字节点的数据节点列表
dfs.namenode.plugins ServicePlugin NameNode插件
dfs.namenode.rpc-address fs.default.name为地址,缺省端口8020 RPC服务地址
dfs.namenode.handler.count 10 RPC服务处理器个数
dfs.namenode.servicerpc-address N/A 额外的RPC服务,为DataNode和SecondaryNameNode提供RPC服务,Client的RPC服务使用dfs.namenode.rpc-address指定的RPC服务,如果没有配置由dfs.namenode.rpc-address提供所有RPC服务
dfs.namenode.service.handler.count 10 额外RPC服务的处理器线程个数
fs.trash.interval 60(单位min) 垃圾清理器线程Emptier工作周期,也是清理周期
dfs.permissions.supergroup supergroup 超级用户权限所在组
dfs.permissions true 是否使能权限访问
net.topology.impl NetworkTopology 网络拓扑实现类
dfs.block.replicator.classname BlockPlacementPolicyDefault 区块放置策略实现类,根据网络拓扑决定区块在集群中位置
dfs.replication 3 缺省副本期望值
dfs.replication.max 512 最大副本数
dfs.replication.min 1 最小副本数,也是安全区块所属的副本数
dfs.max-repl-streams 2 数据节点上可以同时执行复制操作的数目
dfs.block.size 64*1024*1024(64MB) 缺省区块大小
dfs.max.objects 0 最大INodeFile数目大小,0表示无限制
dfs.block.invalidate.limit N/A ReplicationMonitor线程每次处理中,每个数据节点可以删除区块的限制,缺省为20*(heartbeatInterval/1000)即60
dfs.durable.sync true true时会对一些操作进行日志记录
dfs.replication.pending.timeout.sec -1(单位s) pendingReplications相关线程判断复制操作失败的周期,-1表示使用默认值5*60*1000即5min
topology.node.switch.mapping.impl ScriptBasedMapping 网络拓扑相关类,将主机转换为网络位置
topology.script.file.name N/A ScriptBasedMapping使用Shell脚本将主机解析成网络位置,该配置定义脚本文件
topology.script.number.args 100 ScriptBasedMapping使用的Shell脚本每次调用最大能解析的主机名数目
dfs.safemode.threshold.pct 0.95 安全区块占总区块的比例,达到此比例时才可以离开安全模式
dfs.namenode.safemode.min.datanodes 0 离开安全模式最小的数据节点数目,0即表示没有数据节点限制
dfs.safemode.extension 0 安全区块比例达到阈值时,等待该配置指定时间后离开安全模式

SecondaryNameNode

属性 缺省值 说明
dfs.secondary.info.bindAddress N/A 旧的HTTP地址
dfs.secondary.info.port N/A 旧的HTTP端口
dfs.secondary.http.address N/A 新的HTTP地址和端口(:分隔)
dfs.namenode.servicerpc-address N/A NameNode代理服务所在地址,优先使用该选项,没有配置时使用dfs.namenode.rpc-address,任然没有配置时使用fs.default.name和缺省端口8020
dfs.namenode.rpc-address N/A NameNode代理服务所在地址
fs.checkpoint.dir /tmp/hadoop/dfs/namesecondary 校验点镜像目录
fs.checkpoint.edits.dir /tmp/hadoop/dfs/namesecondary 校验点日志目录
fs.checkpoint.period 3600s(1h) 检查点周期,默认最多1h一次检查点
fs.checkpoint.size 4194304(4MB) 日志文件大小阈值,超过4MB一次检查点