Hadoop2.7.7 API: hdfs-site.xml 解析

name description value 备注
hadoop.hdfs.configuration.version 配置文件版本 1  
dfs.namenode.rpc-address 处理所有客户端请求的RPC地址,若在HA场景中,可能有多个namenode,就把名称ID添加到进来。该属性的格式为nn-host1:rpc-port。   bj-rack001-hadoop002:8020
dfs.namenode.rpc-bind-host RPC服务器的真实地址,如果为空,则使用dfs.namenode.rpc-address属性中配置的主机名。该属性如果在HA场景中,可以在每个namenode中都指定。如果设置为0.0.0.0,则会在此namenode中监听所有的接口。    
dfs.namenode.servicerpc-address 用于HDFS服务通信的RPC地址,所有的backupnode,datanode和其它服务都应该连接到这个地址。如果该属性未设置,则使用dfs.namenode.rpc-address属性的值。    
dfs.namenode.servicerpc-bind-host RPC服务器中服务的真实地址,如果为空,则使用dfs.namenode.servicerpc-bind-host属性中配置的主机名。该属性如果在HA场景中,可以在每个namenode中都指定。如果设置为    
dfs.namenode.secondary.http-address secondary namenode HTTP服务器地址和端口。 0.0.0.0:50090 bj-rack001-hadoop003:50090
dfs.namenode.secondary.https-address secondary namenode HTTPS服务器地址和端口。 0.0.0.0:50091  
dfs.datanode.address datanode服务器地址和端口。 0.0.0.0:50010  
dfs.datanode.http.address datanode HTTP服务器地址和端口。 0.0.0.0:50075  
dfs.datanode.ipc.address datanode IPC服务器地址和端口。 0.0.0.0:50020 0.0.0.0:8010
dfs.datanode.handler.count datanode的服务器线程数。 10 20
dfs.namenode.http-address namenode web UI监听的地址和端口。 0.0.0.0:50070 bj-rack001-hadoop002:50070
dfs.namenode.http-bind-host HTTP服务器绑定的真实地址。    
dfs.namenode.heartbeat.recheck-interval 心跳检测的时间间隔,单位是毫秒。 300000  
dfs.http.policy 用于配置是否在HDFS上支持HTTPS(SSL)。选项有HTTP_ONLY:只支持HHTPS; HTTPS_ONLY:只支持HTTPS; HTTPS_AND_HTTPS:同时支持HTTP和HTTPS。 HTTP_ONLY  
dfs.client.https.need-auth 是否需要SSL客户端证书身份验证。 FALSE  
dfs.client.cached.conn.retry HDFS客户端从缓存中提取套接字的次数。一旦超过这个数量,客户端将尝试创建一个新的套接字。 3  
dfs.https.server.keystore.resource 用于提取SSL服务器密钥存储信息的资源文件。 ssl-server.xml  
dfs.client.https.keystore.resource 用于提取SSL客户端密钥存储信息的资源文件。 ssl-client.xml  
dfs.datanode.https.address datanode安全http服务器地址和端口。 0.0.0.0:50475  
dfs.namenode.https-address namenode安全http服务器地址和端口。 0.0.0.0:50470  
dfs.namenode.https-bind-host HTTPS的真实地址。    
dfs.datanode.dns.interface datanode的网络接口名称,例如eth2。建议使用hadoop.security.dns.interface代替dfs.datanode.dns.interface。 default  
dfs.datanode.dns.nameserver DNS服务器的主机名或IP地址。建议使用hadoop.security.dns.nameserver代替dfs.datanode.dns.nameserver。 default  
dfs.namenode.backup.address backup节点服务器地址和端口。如果端口为0,那么服务器将在自由端口启动。 0.0.0.0:50100  
dfs.namenode.backup.http-address backup节点http服务器地址和端口。如果端口为0,那么服务器将在自由端口启动。 0.0.0.0:50105  
dfs.namenode.replication.considerLoad 在选择目标的时候,是否考虑目标的负载情况。 TRUE  
dfs.default.chunk.view.size 在浏览器上能查看文件的字节数。 32768  
dfs.datanode.du.reserved 每卷保留字节的空间。 0 229029233664
dfs.namenode.name.dir 存放namenode的名称表(fsimage)的目录,如果这是一个逗号分隔的目录列表,那么在所有目录中复制名称表,用于冗余。 file://${hadoop.tmp.dir}/dfs/name /data/hadoop/hdfs/namenode
dfs.namenode.name.dir.restore 如果为true,则允许namenode尝试恢复之前失败的dfs.namenode.name.dir目录。当启用时,在检查点期间会尝试恢复任何失败的目录。 FALSE true
dfs.namenode.fs-limits.max-component-length 定义路径中每个组件中UTF-8编码的最大字节数。0的值将禁用检查。  255  
dfs.namenode.fs-limits.max-directory-items 定义目录可能包含的最大项目数。无法将属性设置为小于1或大于6400000的值。  1048576  
dfs.namenode.fs-limits.min-block-size 最小的块大小,单位为字节。 1048576  
dfs.namenode.fs-limits.max-blocks-per-file 每个文件的最大块数。 1048576  
dfs.namenode.edits.dir 存放namenode的事务文件(edits)的目录,如果这是一个逗号分隔的目录列表,那么事务文件在所有目录中被复制,用于冗余。默认与dfs.namenode.name.dir属性目录一样。 ${dfs.namenode.name.dir}  
dfs.namenode.shared.edits.dir 用于HA场景中,多个namenode共享的目录。    
dfs.namenode.edits.journal-plugin.qjournal   org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager  
dfs.permissions.enabled 当为true时,则允许HDFS的检测,当为false时,则关闭HDFS的检测,但不影响其它HDFS的其它功能。 TRUE  
dfs.permissions.superusergroup 超级用户组的名称。该值应该是单个组名。  supergroup hdfs
dfs.cluster.administrators 管理员ACL列表,用于控制谁可以访问namenode的servlet,这个属性由逗号分隔,例如"user1,user2 group1,group2"。用户和组都可以为空,所以 "user1", " group1", "", "user1 group1", "user1,user2 group1,group2" 都是有效的。 '*' 表示授予所有用户和组的访问权限。   hdfs
dfs.namenode.acls.enabled 当为false时,拒绝所有与设置或获取ACL相关的RPC,默认情况下是false。 FALSE true
dfs.namenode.lazypersist.file.scrub.interval.sec namenode扫描lazypersist文件的时间间隔,当设置为负值时,则禁用此属性。 300  
dfs.block.access.token.enable 当为true时,允许访问令牌访问datanode。 FALSE true
dfs.block.access.key.update.interval namenode更新其访问密钥的时间间隔,单位为分钟。 600  
dfs.block.access.token.lifetime 访问令牌的生命周期,单位为分钟。 600  
dfs.datanode.data.dir 存放datanode块的目录。如果这是一个逗号分隔的目录列表,那么数据将存储在所有命名的目录中,通常存储在不同的设备上。 file://${hadoop.tmp.dir}/dfs/data  
dfs.datanode.data.dir.perm datanode目录权限,可以为八进制,也可以为符号。 700 750
dfs.replication 副本数量。可以在创建文件时指定副本的实际数目。如果在创建时未指定复制,则使用默认值。 3  
dfs.replication.max 最大副本数量。 512 50
dfs.namenode.replication.min 最小副本数量。 1  
dfs.blocksize 新文件的块大小,单位为字节。可以使用如下后缀:k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) ,例如128k, 512m, 1g等。 134217728  (128M)  
dfs.client.block.write.retries datanode写入失败时,尝试重新写入的次数。 3  
dfs.client.block.write.replace-datanode-on-failure.enable 当为true时,如果datanode写入失败,则重新写入新的datanode。 TRUE  
dfs.client.block.write.replace-datanode-on-failure.policy dfs.client.block.write.replace-datanode-on-failure.enable属性为true时,该属性有效。选项有以下几种:ALWAYSNEVERDEFAULT
ALWAYS:当一个存在的DataNode被删除时,总是添加一个新的DataNode

NEVER:永远不添加新的DataNode

DEFAULT:副本数是r,DataNode的数时n,只要r >= 3时,或者floor(r/2)大于等于n时,r>n时再添加一个新的DataNode,并且这个块是hflushed/appended
DEFAULT NEVER
dfs.client.block.write.replace-datanode-on-failure.best-effort 当dfs.client.block.write.replace-datanode-on-failure.enable属性为true时使用。Best effort表示在继续写入新datanode时,如果仍然写入失败时采取的策略。当该属性为true时,如果新datanode写入失败,则继续找新的datanode写入;当该属性为false时,如果新datanode写入失败,则不再尝试写入新datanode,而是抛出异常。 FALSE  
dfs.blockreport.intervalMsec 块报告的时间间隔,以毫秒为单位。 21600000  
dfs.blockreport.initialDelay 第一次块报告的时间延迟,以秒为单位。 0 120
dfs.blockreport.split.threshold 当datanode的块数量小于该属性的值时,将用一条消息发送所有目录的块报告,如果datanode的块数量大于该属性的值,则每个目录用单独的消息发送块报告。 1000000  
dfs.datanode.directoryscan.interval datanode以秒为单位扫描数据目录,并协调内存块和磁盘上的块之间的差异。 21600  
dfs.datanode.directoryscan.threads 线程池中用于编制卷报告的线程数。 1  
dfs.datanode.directoryscan.throttle.limit.ms.per.sec 每秒钟用于报告编译的线程的运行时间,当有多个线程时,该属性的时间是多个线程的累计时间。 0  
dfs.heartbeat.interval datanode的心跳时间间隔,单位为秒。 3  
dfs.namenode.handler.count RPC服务器的监听client线程数,如果dfs.namenode.servicerpc-address属性没有配置,则线程会监听所有节点的请求。 10 300
dfs.namenode.safemode.threshold-pct dfs.namenode.replication.min属性中副本需要满足的块的百分比。 0.999f 1
dfs.namenode.safemode.min.datanodes 在退出安全模式前,需要满足活跃的datanode的数量。 0  
dfs.namenode.safemode.extension 在达到阈值后,经过多长时间后会退出安全模式,单位为毫秒。 30000  
dfs.namenode.resource.check.interval namenode resource checker运行的时间间隔,单位为毫秒。 5000  
dfs.namenode.resource.du.reserved 存储或请求namenode存储目录的空间大小,单位为字节。 104857600  
dfs.namenode.resource.checked.volumes 本地目录列表。    
dfs.namenode.resource.checked.volumes.minimum 所需的冗余namenode存储卷的最小数量。  1  
dfs.datanode.balance.bandwidthPerSec datanode的最大带宽,可以使用如下后缀k(kilo), m(mega), g(giga), t(tera),p(peta), e(exa),例如128k, 512m, 1g等。或者提供完整的字节数,如134217728。 1048576 ( 1M ) 10485760 (10M)
dfs.mover.max-no-move-interval If this specified amount of time has elapsed and no block has been moved out of a source DataNode, on more effort will be made to move blocks out of this DataNode in the current Mover iteration. 60000  
dfs.hosts 命名一个文件,该文件包含允许连接到namenode的主机列表。必须指定文件的完整路径名。如果值为空,则允许所有主机。    
dfs.hosts.exclude 命名一个文件,该文件包含不允许连接到namenode的主机列表。必须指定文件的完整路径名。如果值为空,则不排除任何主机。    /etc/hadoop/conf/dfs.exclude
dfs.namenode.max.objects DFS支持的文件、目录和块的最大数量。0的值指示DFS支持的对象数目没有限制。 0  
dfs.namenode.datanode.registration.ip-hostname-check 当为true时,namenode连接datanode的地址必须解析成主机名。 TRUE  
dfs.namenode.decommission.interval namenode定期检查维护是否结束的时间间隔,单位是秒。 30  
dfs.namenode.decommission.blocks.per.interval 在每次维护期间,处理块的近似数量。 500000  
dfs.namenode.decommission.max.concurrent.tracked.nodes 同时进入decommisson或maintenance的datanode的数量。 100  
dfs.namenode.replication.interval namenode定期计算datanode副本数量的时间间隔,单位为秒。 3  
dfs.namenode.accesstime.precision HDFS文件访问时间的精确值,默认为1小时。当为0时,表示禁用。 3600000 0
dfs.datanode.plugins 逗号分隔的datanode插件列表。    
dfs.namenode.plugins 逗号分隔的namenode插件列表。    
dfs.namenode.block-placement-policy.default.prefer-local-node 控制默认块放置策略如何放置块的第一个副本。当TRUE时,它将更喜欢客户端正在运行的节点。当FALSE时,它将首选与客户端相同的机架中的节点。设置为FALSE避免了大文件的整个副本终止在单个节点上的情况,从而创建热点。 TRUE  
dfs.stream-buffer-size 流文件的缓冲区大小。 4096  
dfs.bytes-per-checksum 每个校验和的字节数,不能大于dfs.stream-buffer-size属性的值。 512  
dfs.client-write-packet-size 客户端写入的数据包大小。 65536  
dfs.client.write.exclude.nodes.cache.expiry.interval.millis 在客户机中排除DN列表中的DN的最大周期。在此阶段之后,以毫秒为单位,先前排除的节点将自动从缓存中移除,并且将再次被认为适合于块分配。在保持文件打开很长时间(如写前日志(WAL)文件)的情况下,可以使其降低或提高,从而使作者能够容忍集群维护重新启动。默认为10分钟。  600000  
dfs.namenode.checkpoint.dir DFS secondary name node存放临时镜像的目录。如果这是一个逗号分隔的目录列表,则在所有目录中复制该图像以进行冗余。 file://${hadoop.tmp.dir}/dfs/namesecondary /hadoop/hdfs/namesecondary
dfs.namenode.checkpoint.edits.dir DFS secondary name node存放临时edits的目录。如果这是一个逗号分隔的目录列表,则在所有目录中复制该图像以进行冗余。 ${dfs.namenode.checkpoint.dir} ${dfs.namenode.checkpoint.dir}
dfs.namenode.checkpoint.period 两个周期检查点之间的秒数。  3600 21600
dfs.namenode.checkpoint.txns 创建检查点的时间间隔。 1000000 1000000
dfs.namenode.checkpoint.check.period 查询未检查的检查点事务的执行时间间隔,单位为秒。 60  
dfs.namenode.checkpoint.max-retries 当加载fsimage或重演edits失败时,重试的次数。 3  
dfs.namenode.num.checkpoints.retained 在namenode和seccondary namenode中保留image检查点(fsimage_*)的数量。 2  
dfs.namenode.num.extra.edits.retained namenode的需要保留的额外的事务。 1000000  
dfs.namenode.max.extra.edits.segments.retained 额外的edit日志段的最大数量。 10000  
dfs.namenode.delegation.key.update-interval namenode中更新委托令牌主密钥的时间间隔,单位为毫秒。 86400000  
dfs.namenode.delegation.token.max-lifetime 令牌的最大生命周期,单位为毫秒。 604800000  
dfs.namenode.delegation.token.renew-interval 授权令牌的更新间隔以毫秒为单位。  86400000  
dfs.datanode.failed.volumes.tolerated 在数据阳极停止服务之前允许失败的卷的数量。默认情况下,任何卷故障都会导致datanode关闭。 0  
dfs.image.compress dfs image是否应该压缩。 FALSE  
dfs.image.compression.codec 如果DFS图像被压缩,它们应该如何压缩?必须是 io.compression.codecs属性中定义的编解码器。 org.apache.hadoop.io.compress.DefaultCodec  
dfs.image.transfer.timeout image传输超时时间,单位为毫秒。 60000  
dfs.image.transfer.bandwidthPerSec 用于常规image传输的最大带宽,即每秒的字节数。 0  
dfs.image.transfer.chunksize 上传检查点的块大小,以字节为单位。 65536  
dfs.namenode.support.allow.format 是否允许namenode将自身进行格式化。建议设置为false。 TRUE  
dfs.datanode.max.transfer.threads datanode进行传输数据的最大线程数。 4096 16384
dfs.datanode.scan.period.hours 当为正值时,datanode将按照设定时间间隔进行块扫描。当为负值时,则禁止块扫描。当为0时,则使用默认的504小时(3周)进行定期扫描。 504  
dfs.block.scanner.volume.bytes.per.second 当为0时,datanode的块扫描会被禁用,当为正数时,该属性为datanode每秒扫描的字节数。I 1048576  
dfs.datanode.readahead.bytes 在读取块文件时,如果Hadoop本地库可用,datanode可以使用posix_fadvise系统调用来在当前阅读器位置之前将数据显式地写入操作系统缓冲区缓存中。这可以提高性能,尤其是当磁盘高度竞争时。此配置指定当前数据读取位置前面的字节数,datanode将尝试提前读取。通过将此属性配置为0,可以禁用此特性。如果本地库不可用,此配置没有效果。 4194304  
dfs.datanode.drop.cache.behind.reads 在一些工作负载中,从HDFS读取的数据被认为足够大以至于在操作系统缓冲区高速缓存中不太有用。在这种情况下,datanode可以被配置为在传送到客户端之后从缓存高速缓存中自动清除所有数据。对于只读取短块(例如Hbase random IO工作负载)的工作负载,此行为被自动禁用。这可以通过释放缓存缓存空间使用更多可缓存数据来改善某些工作负载的性能。如果Hadoop本机库不可用,此配置没有效果。 FALSE  
dfs.datanode.drop.cache.behind.writes 在一些工作负载中,已知写入HDFS的数据足够大,以至于在操作系统缓冲区高速缓存中不太有用。在这种情况下,datanode可以被配置为在写入到磁盘之后从缓存高速缓存中自动清除所有数据。这可以通过释放缓存缓存空间使用更多可缓存数据来改善某些工作负载的性能。如果Hadoop本机库不可用,此配置没有效果。  FALSE  
dfs.datanode.sync.behind.writes 当为true时,datanode将指示操作系统在写入后立即将所有写入的数据排队到磁盘。这与通常的OS策略不同,它可能在触发写回之前等待30秒。这可以通过平滑写入磁盘的数据的IO配置文件来改善某些工作负载的性能。如果Hadoop本机库不可用,此配置没有效果。  FALSE  
dfs.client.failover.max.attempts client最多尝试次数,如果超过,则认为client失败。 15  
dfs.client.failover.sleep.base.millis 错误重试的时间间隔,这是一个这是迄今为止尝试的数目的函数,具有+/- 50%的随机因子。此选项指定在故障转移计算中使用的基值。第一次故障转移将立即重试。第二次故障转移尝试将至少延迟dfs.client.failover.sleep.base.millis milliseconds,等等。 500  
dfs.client.failover.sleep.max.millis 错误重试的时间间隔,这是一个这是迄今为止尝试的数目的函数,具有+/- 50%的随机因子。此选项指定在故障转移之间等待的最大值dfs.client.failover.sleep.max.millis milliseconds属性值的+/- 50%。 15000  
dfs.client.failover.connection.retries 指示故障转移IPC客户端将建立服务器连接的重试次数。  0  
dfs.client.failover.connection.retries.on.timeouts 在建立服务器连接时,故障转移IPC客户端将在套接字超时上进行重试次数。  0  
dfs.client.datanode-restart.timeout datanode重启等待时间,单位为秒。 30  
dfs.nameservices 逗号分隔的名称服务器列表。    
dfs.nameservice.id nameservice的ID。    
dfs.internal.nameservices 逗号分隔的属于集群的nameservice列表。    
dfs.ha.namenodes.EXAMPLENAMESERVICE 给定nameservicce的前缀列表,可以用逗号分隔。这将被用于确定集群中中的namenode。    
dfs.ha.namenode.id namenode的ID。    
dfs.ha.log-roll.period standby节点向active节点询问edits的时间间隔,以秒为单位。 120  
dfs.ha.tail-edits.period standby节点检查log段的时间间隔,以秒为单位。 60  
dfs.ha.automatic-failover.enabled 是否启用自动故障转移。 FALSE  
dfs.client.use.datanode.hostname client连接datanode时,是否应该使用datanode的主机名。 FALSE  
dfs.datanode.use.datanode.hostname datanode连接其它datanode进行数据传输时,是否应该使用datanode的主机名。 FALSE  
dfs.client.local.interfaces 一个逗号分隔的网络接口名称列表,用于client和datanode之间的数据传输。    
dfs.datanode.shared.file.descriptor.paths 一个逗号分隔的路径列表,用于创建将在datanode和client之间共享的文件描述符。 /dev/shm,/tmp  
dfs.short.circuit.shared.memory.watcher.interrupt.check.ms 为单元测试使用的一个属性。 60000  
dfs.namenode.kerberos.principal namenode服务主体。这通常设置为nn/[email protected]。每个namenode将在启动时用它自己的完全限定主机名替换宿主。 _HOST占位符允许在HA设置中使用两个namenode上相同的配置设置。    
dfs.namenode.keytab.file namenode服务主体的keytab文件,主体参数由dfs.namenode.kerberos.principal属性配置。    
dfs.datanode.kerberos.principal datanode服务主体。    
dfs.datanode.keytab.file datanode服务主体的keytab文件,主体参数由dfs.datanode.kerberos.principal属性配置。    
dfs.journalnode.kerberos.principal JournalNode服务主体。这通常设置为jn/[email protected]。每个journalnode将在启动时用它自己的完全限定主机名替换宿主。 _HOST占位符允许使用与其它journalnode相同的配置设置。    
dfs.journalnode.keytab.file journalnode服务主体的keytab文件,主体参数由dfs.journalnode.kerberos.principal属性配置。    
dfs.namenode.kerberos.internal.spnego.principal 当kerberos启用时,namenode用于web UI SPNEGO验证的服务主体。 ${dfs.web.authentication.kerberos.principal}  
dfs.journalnode.kerberos.internal.spnego.principal 当kerberos启用时,journalnode http server用于SPNEGO验证的服务主体。    
dfs.secondary.namenode.kerberos.internal.spnego.principal 当kerberos启用时,secondary namenode用于web UI SPNEGO验证的服务主体。 ${dfs.web.authentication.kerberos.principal}  
dfs.web.authentication.kerberos.principal namenode用于WebHDFS SPNEGO验证的服务主体,需要WebHDFS和安全性都启用。     
dfs.web.authentication.kerberos.keytab 和dfs.web.authentication.kerberos.principal属性的主体相关的keytab文件。     
dfs.namenode.kerberos.principal.pattern 在跨域环境中使用。 *  
dfs.namenode.avoid.read.stale.datanode 是否允许读取“陈旧”datanode(也就是在设定时间间隔内没有向namenode发送心跳消息的节点)。 FALSE true
dfs.namenode.avoid.write.stale.datanode 是否允许写入“陈旧”datanode(也就是在设定时间间隔内没有向namenode发送心跳消息的节点)。 FALSE true
dfs.namenode.stale.datanode.interval 在设定的这个时间里,如果namenode没有收到datanode的心跳消息,则将datanode置为“陈旧”datanode,单位为毫秒。 30000  
dfs.namenode.write.stale.datanode.ratio 当陈旧datanode的数量占比超过设置的值时,会停止写入陈旧的datanode。 0.5f 1.0f
dfs.namenode.invalidate.work.pct.per.iteration 注意:高级属性。谨慎改变。该属性决定了单条datanode心跳删除命令进行块无效(删除)的百分比。0.32f表示100%。 0.32f  
dfs.namenode.replication.work.multiplier.per.iteration 注意:高级属性。谨慎改变。Datanode并行传输时的块数量。这个数字可以是任何正、非零整数。 2  
nfs.server.port nft的端口号。 2049  
nfs.mountd.port hadoop安装守护进程的端口号。 4242  
nfs.dump.dir 该目录用于在写入HDFS之前临时保存无序的写入。对于每一个文件,无序的写入在累积到超过一定的阈值(例如1MB)之后被丢弃,因此需要确保目录有足够的空间。 /tmp/.hdfs-nfs  
nfs.rtmax 这是NFS网关支持的读取请求的最大字节大小。 1048576  
nfs.wtmax  这是NFS网关支持的写入请求的最大字节大小。 1048576  
nfs.keytab.file 注意:高级属性。谨慎改变。这是HDFS NFS网关的keytab文件的路径。    
nfs.kerberos.principal 注意:高级属性。谨慎改变。这是Kerberos主体的名称。格式为nfs-gateway-user/nfs-gateway-host@kerberos-realm    
nfs.allow.insecure.ports 当为false时,会拒绝来自无特权端口(高于1023的端口)的客户端连接。 TRUE  
dfs.webhdfs.enabled 是否允许在namenode和datanode中启用WebHDFS (REST API)。 TRUE  
hadoop.fuse.connection.timeout 在fuse_dfs中缓存libhdfs连接对象的最小秒数。较低的值将导致较低的内存消耗;较高的值可以通过避免创建新连接对象的开销来加快访问速度。  300  
hadoop.fuse.timer.period fuse_dfs中缓存过期检查之间的秒数。 5  
dfs.metrics.percentiles.intervals 默认情况下被禁用。    
hadoop.user.group.metrics.percentiles.intervals 默认情况下被禁用。    
dfs.encrypt.data.transfer 是否启用块数据的加密。 FALSE  
dfs.encrypt.data.transfer.algorithm 选项有3des和rc4两种。    
dfs.encrypt.data.transfer.cipher.suites 选项有AES/CTR/NoPadding    AES/CTR/NoPadding
dfs.encrypt.data.transfer.cipher.key.bitlength client和datanode之间的密钥位长度,值有128,192和256三种。 128  
dfs.trustedchannel.resolver.class TrustedChannelResolver用于确定通道是否受信任以用于普通数据传输。    
dfs.data.transfer.protection 一个逗号分隔的SASL保护值列表,用于读取或写入块数据时与datanode的安全连接。选项有authentication, integrity and privacy三种。    
dfs.data.transfer.saslproperties.resolver.class 用于连接datanode的QOP的SaslPropertiesResolver,默认是hadoop.security.saslproperties.resolver.class。    
dfs.datanode.hdfs-blocks-metadata.enabled 是否启用后面datanode支持DistributedFileSystem#getFileVBlockStorageLocations API。 FALSE  
dfs.client.file-block-storage-locations.num-threads DistributedFileSystem#getFileBlockStorageLocations()中进行并行RPC的线程数。 10  
dfs.client.file-block-storage-locations.timeout.millis DistributedFileSystem#getFileBlockStorageLocations()中进行RPC的超时时间,单位为毫秒。 1000  
dfs.journalnode.rpc-address JournalNode RPC服务器地址和端口。 0.0.0.0:8485  
dfs.journalnode.http-address JournalNode HTTP服务器监听的地址和端口。如果端口为0,那么服务器将在自由端口启动。 0.0.0.0:8480  
dfs.journalnode.https-address JournalNode HTTPS服务器监听的地址和端口。如果端口为0,那么服务器将在自由端口启动。 0.0.0.0:8481  
dfs.namenode.audit.loggers org.apache.hadoop.hdfs.server.namenode.AuditLogger的实现类。 default  
dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold 当dfs.datanode.fsdataset.volume.choosing.policy属性设置为org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy时使用。该属性控制datanode卷在被认为不平衡之前允许在空闲磁盘空间上有多少不同字节。如果所有卷的自由空间都在这一范围内,则卷将被认为是平衡的,并且块分配将在纯循环的基础上完成。 10737418240  
dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction 当dfs.datanode.fsdataset.volume.choosing.policy属性设置为org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy时使用。此属性控制新的块分配百分比将被发送给具有比其他磁盘更可用的磁盘空间的卷。这个设置应该在0.0到1.0的范围内。 0.75f  
dfs.namenode.edits.noeditlogchannelflush 是否刷新edit log文件通道。 FALSE  
dfs.client.cache.drop.behind.writes 与dfs.datanode.drop.cache.behind.writes属性类似,该属性导致页面缓存被丢弃在HDFS写之后,可能释放更多的内存用于其他用途。    
dfs.client.cache.drop.behind.reads 与dfs.datanode.drop.cache.behind.reads属性类似,该属性导致页面缓存被丢弃在HDFS读取之后,可能释放更多的内存用于其他用途。    
dfs.client.cache.readahead 当使用远程读取时,此设置会导致datanode使用posix_fadvise在块文件中提前读取,可能会降低I/O等待时间。    
dfs.namenode.enable.retrycache 当为true时,允许在namenode上重试缓存。 TRUE  
dfs.namenode.retrycache.expirytime.millis 重试缓存条目被保留的时间。 600000  
dfs.namenode.retrycache.heap.percent 此参数配置为重试缓存分配的堆大小(不包括响应缓存)。 0.03f  
dfs.client.mmap.enabled 如果将此设置为false,客户端将不会尝试内存映射读取。 TRUE  
dfs.client.mmap.cache.size 当使用0拷贝读取时,DFS client保持最近使用的内存映射区域的缓存。此参数控制将在该缓存中保留的最大条目数。这个数字越大,我们可能会使用更多的内存描述符文件描述符。注意,当这个大小设置为0时,仍然可以进行零拷贝读取。 Wh 256  
dfs.client.mmap.cache.timeout.ms 在使用时,我们将在缓存中保持MMAP条目的最小时间长度。如果一个条目在缓存中比这个长,并且没有人使用它,它将被后台线程移除。 3600000  
dfs.client.mmap.retry.timeout.ms 在重试失败的MMAP操作之前,我们将等待的最小时间量。 300000  
dfs.client.short.circuit.replica.stale.threshold.ms 如果没有datanode的通信,我们将考虑短路副本的有效时间是最大的。经过这段时间后,即使在缓存中,我们也会重新获取短路副本。 1800000  
dfs.namenode.path.based.cache.block.map.allocation.percent 分配给缓存块地图的java堆的百分比。 0.25  
dfs.datanode.max.locked.memory 用于在datanode上缓存块副本的字节内存量。 0  
dfs.namenode.list.cache.directives.num.responses 设置NAMENODE将响应于listDirectives RPC发送的高速缓存指令的数量。. 100  
dfs.namenode.list.cache.pools.num.responses 设置NAMENODE将响应于listPools RPC发送的高速缓存池的数量。 100  
dfs.namenode.path.based.cache.refresh.interval.ms 后续路径高速缓存之间的毫秒数。 30000  
dfs.namenode.path.based.cache.retry.interval.ms 当NAMENODE需要取消缓存的东西,或者缓存未缓存的东西时,它必须通过发送 DNA_CACHE或DNA_UNCACHE命令来响应数据阳极心跳来引导数据。 30000  
dfs.datanode.fsdatasetcache.max.threads.per.volume 用于缓存datanode上新数据的每卷的最大线程数。这些线程同时消耗I/O和CPU。这会影响正常的datanode操作。 4  
dfs.cachereport.intervalMsec 以毫秒为单位确定缓存报告间隔。在这段时间之后,datanode将其缓存状态的完整报告发送到namenode。 10000  
dfs.namenode.edit.log.autoroll.multiplier.threshold 确定active namenode何时滚动自己的edit log。 2  
dfs.namenode.edit.log.autoroll.check.interval.ms active namenode以毫秒为单位检查它是否需要滚动自己的edit log。 300000  
dfs.webhdfs.user.provider.user.pattern webhdfs用户名和组的有效模式,它必须是一个有效的java正则表达式。  ^[A-Za-z_][A-Za-z0-9._-]*[$]?$  
dfs.client.context 我们应该使用的DFSClient上下文的名称。 default  
dfs.client.read.shortcircuit 此配置参数开启短路本地读取。  FALSE true
dfs.client.socket.send.buffer.size DFSClient的套接字发送缓冲区大小。这可能影响TCP连接吞吐量。如果设置为零或负值,则不显式设置缓冲区大小,从而使TCP自动调整到某些系统上。默认值为0。. 131072  
dfs.domain.socket.path 可选项。DataNode 本地文件系统到 UNIX 域套接字的路径,用于 DataNode 和本地 HDFS 客户端之间的通信。该套接字用于 Short Circuit Read。只有 HDFS 系统用户和“root”拥有父目录及其所有上级的写入权限。   /var/lib/hadoop-hdfs/dn_socket
dfs.client.read.shortcircuit.skip.checksum 如果设置了此配置参数,则短路本地读取将跳过校验和。这通常是不推荐的,但它可能对特殊设置有用。如果正在HDFS之外进行自己的校验求和,则可以考虑使用此方法。  FALSE  
dfs.client.read.shortcircuit.streams.cache.size DFS客户端维护了一个最近打开的文件描述符的缓存,这个参数控制缓存中文件描述符的最大数量。 256 4096
dfs.client.read.shortcircuit.streams.cache.expiry.ms 控制文件描述符在client缓存中的最小时间。 300000  
dfs.datanode.shared.file.descriptor.paths 创建共享内存段的目录,用逗号分隔。Client和datanode通过这个共享内存段交换信息。 /dev/shm,/tmp  
dfs.client.use.legacy.blockreader.local 当audit log级别是debug时,写入到namenode audit log的命令列表,用逗号分隔。 FALSE  
dfs.block.local-path-access.user 当为true时,使用基于HDFS-2246的 Legacy short-circuit reader实现方式。    
dfs.client.domain.socket.data.traffic 控制是否会尝试通过UNIX域套接字传递正常的数据流量,而不是通过TCP套接字在节点本地数据传输上传递数据。 FALSE  
dfs.namenode.reject-unresolved-dn-topology-mapping 当为true时,如果datanode的拓扑映射未被解析并且返回null,则namenode将拒绝此datanode的注册。 FALSE  
dfs.client.slow.io.warning.threshold.ms 在dfsclient中记录慢io警告的阈值。 30000  
dfs.datanode.slow.io.warning.threshold.ms 在datanode中记录慢io警告的阈值。 300  
dfs.namenode.xattrs.enabled 是否支持扩展namenode的属性。 TRUE  
dfs.namenode.fs-limits.max-xattrs-per-inode 每个索引节点的扩展属性的最大数目。 32  
dfs.namenode.fs-limits.max-xattr-size 扩展属性的名称和值的最大组合大小(以字节为单位)。 16384  
dfs.namenode.write-lock-reporting-threshold-ms 当一个写锁在NAMENODE上被保存很长时间时,当锁被释放时,这将被记录下来。这设置了日志记录发生时必须持有锁的时间。 5000  
dfs.namenode.read-lock-reporting-threshold-ms 当读锁在NAMENODE上保存很长时间时,当锁被释放时将记录该日志。这设置了日志记录发生时必须持有锁的时间。 5000  
dfs.namenode.lock.detailed-metrics.enabled 如果为true,NAMENODE将跟踪各种操作保存命名空间锁的时间,并将其作为度量。 FALSE  
dfs.namenode.fslock.fair 如果为true,FS namesystem锁将在公平模式下使用,这将有助于防止编写器线程被饿死,但可以提供更低的锁定吞吐量。 TRUE false
dfs.namenode.startup.delay.block.deletion.sec 在NAMENODE启动后,延迟设定时间后,我们将暂停块删除。默认情况下,它已被禁用。 0 3600
dfs.namenode.list.encryption.zones.num.responses 当列出加密区域时,将在批处理中返回的最大区域数。 100  
dfs.namenode.inotify.max.events.per.rpc 将在单个RPC响应中发送给客户端的最大事件数。 1000  
dfs.user.home.dir.prefix 该目录用于添加用户名以获得用户的home目录。 /user  
dfs.datanode.cache.revocation.timeout.ms 当dfsclient读取缓存中的datanode块文件时,将跳过校验。datanode将保持块文件在缓存中,直到客户端完成。但是,如果客户端占用非常长的时间,那么datanode可能需要从缓存中逐出块文件。此属性数值控制datanode等待客户端释放其没有校验和读取的副本的时间。 900000  
dfs.datanode.cache.revocation.polling.ms datanode应该多久轮询一次,看看客户端是否停止使用datanode想要取消的副本。 500  
dfs.datanode.block.id.layout.upgrade.threads 创建硬链接的最大线程数。 12  
dfs.encryption.key.provider.uri The KeyProvider to use when interacting with encryption keys used when reading and writing to an encryption zone.    
dfs.storage.policy.enabled 允许用户更改文件和目录的存储策略。 TRUE  
dfs.namenode.legacy-oiv-image.dir 在standby namenode和secondary namenode的检查点期间,保存fsimage的命名空间的位置。    
dfs.namenode.top.enabled 启用nntop TRUE  
dfs.namenode.top.window.num.buckets nntop的桶数。 10  
dfs.namenode.top.num.users 顶部工具返回的顶级用户数。 10  
dfs.namenode.top.windows.minutes nntop在分钟内的报告周期,用逗号分隔。 1,5,25  
dfs.namenode.blocks.per.postponedblocks.rescan 在postponedMisreplicatedBlocks每个迭代中扫描的块数。 10000  
dfs.datanode.block-pinning.enabled PIN块是否在受欢迎的datanode上。 FALSE  
dfs.datanode.bp-ready.timeout 在接收到的请求失败之前,datanode的最大等待时间准备就绪。 20  
dfs.balancer.keytab.enabled 设置为true以启用Kerberized Hadoop的keytab的登录。 FALSE  
dfs.balancer.address 基于Kerberos登录时,用于keytab的主机名。 0.0.0.0:0  
dfs.balancer.keytab.file 平衡器使用的keytab文件作为其服务主体登录。    
dfs.balancer.kerberos.principal 平衡器主体,通常为balancer/[email protected]    
dfs.balancer.block-move.timeout Maximum amount of time in milliseconds for a block to move. If this is set greater than 0, Balancer will stop waiting for a block move completion after this time. In typical clusters, a 3 to 5 minute timeout is reasonable. If timeout happens to a large proportion of block moves, this needs to be increased. It could also be that too much work is dispatched and many nodes are constantly exceeding the bandwidth limit as a result. In that case, other balancer parameters might need to be adjusted. It is disabled (0) by default. 0  
dfs.balancer.max-no-move-interval If this specified amount of time has elapsed and no block has been moved out of a source DataNode, on more effort will be made to move blocks out of this DataNode in the current Balancer iteration. 60000  
dfs.lock.suppress.warning.interval Instrumentation reporting long critical sections will suppress consecutive warnings within this interval. 10s  
dfs.namenode.quota.init-threads The number of concurrent threads to be used in quota initialization. The speed of quota initialization also affects the namenode fail-over latency. If the size of name space is big, try increasing this. 4  
dfs.reformat.disabled Disable reformat of NameNode. If it's value is set to "true" and metadata directories already exist then attempt to format NameNode will throw NameNodeFormatException. FALSE  
dfs.datanode.transfer.socket.send.buffer.size Socket send buffer size for DataXceiver (mirroring packets to downstream in pipeline). This may affect TCP connection throughput. If it is set to zero or negative value, no buffer size will be set explicitly, thus enable tcp auto-tuning on some system. 131072  
dfs.datanode.transfer.socket.recv.buffer.size Socket receive buffer size for DataXceiver (receiving packets from client during block writing). This may affect TCP connection throughput. If it is set to zero or negative value, no buffer size will be set explicitly, thus enable tcp auto-tuning on some system. 131072  

你可能感兴趣的:(Hadoop官方API,工具,API,速查)