- 上一篇介绍了core-site.xml的配置,本篇继续介绍hdfs-site.xml的配置。
属性名称
|
属性值
|
描述
|
hadoop.hdfs.configuration.version | 1 | 配置文件的版本 |
dfs.namenode.rpc-address | 处理所有客户端请求的RPC地址,若在HA场景中,可能有多个namenode,就把名称ID添加到进来。该属性的格式为nn-host1:rpc-port。 | |
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.lifeline.rpc-address | namenode rpc 生命线地址。用于将实现轻量级的心跳检测,如果该属性为空,则不启用lifeline服务器。默认情况下,该属性是空的。 | |
dfs.namenode.lifeline.rpc-bind-host | 生命线RPC服务器的真实地址。 | |
dfs.namenode.secondary.http-address | 0.0.0.0:50090 | secondary namenode HTTP服务器地址和端口。 |
dfs.namenode.secondary.https-address | 0.0.0.0:50091 | secondary namenode HTTPS服务器地址和端口。 |
dfs.datanode.address | 0.0.0.0:50010 | datanode服务器地址和端口。 |
dfs.datanode.http.address | 0.0.0.0:50075 | datanode HTTP服务器地址和端口。 |
dfs.datanode.ipc.address | 0.0.0.0:50020 | datanode IPC服务器地址和端口。 |
dfs.datanode.handler.count | 10 | datanode的服务器线程数。 |
dfs.namenode.http-address | 0.0.0.0:50070 | namenode web UI监听的地址和端口。 |
dfs.namenode.http-bind-host | HTTP服务器绑定的真实地址。 | |
dfs.namenode.heartbeat.recheck-interval | 300000 | 心跳检测的时间间隔,单位是毫秒。 |
dfs.http.policy | HTTP_ONLY | 用于配置是否在HDFS上支持HTTPS(SSL)。选项有HTTP_ONLY:只支持HHTPS; HTTPS_ONLY:只支持HTTPS; HTTPS_AND_HTTPS:同时支持HTTP和HTTPS。 |
dfs.client.https.need-auth | FALSE | 是否需要SSL客户端证书身份验证。 |
dfs.client.cached.conn.retry | 3 | HDFS客户端从缓存中提取套接字的次数。一旦超过这个数量,客户端将尝试创建一个新的套接字。 |
dfs.https.server.keystore.resource | ssl-server.xml | 用于提取SSL服务器密钥存储信息的资源文件。 |
dfs.client.https.keystore.resource | ssl-client.xml | 用于提取SSL客户端密钥存储信息的资源文件。 |
dfs.datanode.https.address | 0.0.0.0:50475 | datanode安全http服务器地址和端口。 |
dfs.namenode.https-address | 0.0.0.0:50470 | namenode安全http服务器地址和端口。 |
dfs.namenode.https-bind-host | HTTPS的真实地址。 | |
dfs.datanode.dns.interface | default | datanode的网络接口名称,例如eth2。建议使用hadoop.security.dns.interface代替dfs.datanode.dns.interface。 |
dfs.datanode.dns.nameserver | default | DNS服务器的主机名或IP地址。建议使用hadoop.security.dns.nameserver代替dfs.datanode.dns.nameserver。 |
dfs.namenode.backup.address | 0.0.0.0:50100 | backup节点服务器地址和端口。如果端口为0,那么服务器将在自由端口启动。 |
dfs.namenode.backup.http-address | 0.0.0.0:50105 | backup节点http服务器地址和端口。如果端口为0,那么服务器将在自由端口启动。 |
dfs.namenode.replication.considerLoad | TRUE | 在选择目标的时候,是否考虑目标的负载情况。 |
dfs.namenode.replication.considerLoad.factor | 2 | 在dfs.namenode.replication.considerLoad属性设置为true的情况下,当节点的负载超过平均值时,则拒绝写入。 |
dfs.default.chunk.view.size | 32768 | 在浏览器上能查看文件的字节数。 |
dfs.datanode.du.reserved | 0 | 每卷保留字节的空间。 |
dfs.namenode.name.dir | file://${hadoop.tmp.dir}/dfs/name | 存放namenode的名称表(fsimage)的目录,如果这是一个逗号分隔的目录列表,那么在所有目录中复制名称表,用于冗余。 |
dfs.namenode.name.dir.restore | FALSE | 如果为true,则允许namenode尝试恢复之前失败的dfs.namenode.name.dir目录。当启用时,在检查点期间会尝试恢复任何失败的目录。 |
dfs.namenode.fs-limits.max-component-length | 255 | 定义路径中每个组件中UTF-8编码的最大字节数。0的值将禁用检查。 |
dfs.namenode.fs-limits.max-directory-items | 1048576 | 定义目录可能包含的最大项目数。无法将属性设置为小于1或大于6400000的值。 |
dfs.namenode.fs-limits.min-block-size | 1048576 | 最小的块大小,单位为字节。 |
dfs.namenode.fs-limits.max-blocks-per-file | 1048576 | 每个文件的最大块数。 |
dfs.namenode.edits.dir | ${dfs.namenode.name.dir} | 存放namenode的事务文件(edits)的目录,如果这是一个逗号分隔的目录列表,那么事务文件在所有目录中被复制,用于冗余。默认与dfs.namenode.name.dir属性目录一样。 |
dfs.namenode.edits.dir.required | 是dfs.namenode.edits.dir属性目录的子集,用于确保这些edits文件目录是最新的。 | |
dfs.namenode.shared.edits.dir | 用于HA场景中,多个namenode共享的目录。 | |
dfs.namenode.edits.journal-plugin.qjournal | org.apache.hadoop.hdfs.qjournal.client.QuorumJournalManager | |
dfs.permissions.enabled | TRUE | 当为true时,则允许HDFS的检测,当为false时,则关闭HDFS的检测,但不影响其它HDFS的其它功能。 |
dfs.permissions.superusergroup | supergroup | 超级用户组的名称。该值应该是单个组名。 |
dfs.cluster.administrators | 管理员ACL列表,用于控制谁可以访问namenode的servlet,这个属性由逗号分隔,例如"user1,user2 group1,group2"。用户和组都可以为空,所以 "user1", " group1", "", "user1 group1", "user1,user2 group1,group2" 都是有效的。 '*' 表示授予所有用户和组的访问权限。 | |
dfs.namenode.acls.enabled | FALSE | 当为false时,拒绝所有与设置或获取ACL相关的RPC,默认情况下是false。 |
dfs.namenode.lazypersist.file.scrub.interval.sec | 300 | namenode扫描lazypersist文件的时间间隔,当设置为负值时,则禁用此属性。 |
dfs.block.access.token.enable | FALSE | 当为true时,允许访问令牌访问datanode。 |
dfs.block.access.key.update.interval | 600 | namenode更新其访问密钥的时间间隔,单位为分钟。 |
dfs.block.access.token.lifetime | 600 | 访问令牌的生命周期,单位为分钟。 |
dfs.datanode.data.dir | file://${hadoop.tmp.dir}/dfs/data | 存放datanode块的目录。如果这是一个逗号分隔的目录列表,那么数据将存储在所有命名的目录中,通常存储在不同的设备上。 |
dfs.datanode.data.dir.perm | 700 | datanode目录权限,可以为八进制,也可以为符号。 |
dfs.replication | 3 | 副本数量。可以在创建文件时指定副本的实际数目。如果在创建时未指定复制,则使用默认值。 |
dfs.replication.max | 512 | 最大副本数量。 |
dfs.namenode.replication.min | 1 | 最小副本数量。 |
dfs.namenode.maintenance.replication.min | 1 | 在维护模式时的最小活跃副本数量。 |
dfs.namenode.safemode.replication.min | 用于计算安全块数量的最小副本数,当没有被设置时,则使用dfs.namenode.replication.min属性的值。 | |
dfs.blocksize | 134217728 | 新文件的块大小,单位为字节。可以使用如下后缀:k(kilo), m(mega), g(giga), t(tera), p(peta), e(exa) ,例如128k, 512m, 1g等。 |
dfs.client.block.write.retries | 3 | datanode写入失败时,尝试重新写入的次数。 |
dfs.client.block.write.replace-datanode-on-failure.enable | TRUE | 当为true时,如果datanode写入失败,则重新写入新的datanode。 |
dfs.client.block.write.replace-datanode-on-failure.policy | DEFAULT | 当dfs.client.block.write.replace-datanode-on-failure.enable属性为true时,该属性有效。选项有以下几种:ALWAYS,NEVER,DEFAULT。 |
dfs.client.block.write.replace-datanode-on-failure.best-effort | FALSE | 当dfs.client.block.write.replace-datanode-on-failure.enable属性为true时使用。Best effort表示在继续写入新datanode时,如果仍然写入失败时采取的策略。当该属性为true时,如果新datanode写入失败,则继续找新的datanode写入;当该属性为false时,如果新datanode写入失败,则不再尝试写入新datanode,而是抛出异常。 |
dfs.client.block.write.replace-datanode-on-failure.min-replication | 0 | 如果剩余datanode的数量小于该属性的值,则会抛出异常。详细要参考dfs.client.block.write.replace-datanode-on-failure.policy属性。 |
dfs.blockreport.intervalMsec | 21600000 | 块报告的时间间隔,以毫秒为单位。 |
dfs.blockreport.initialDelay | 0 | 第一次块报告的时间延迟,以秒为单位。 |
dfs.blockreport.split.threshold | 1000000 | 当datanode的块数量小于该属性的值时,将用一条消息发送所有目录的块报告,如果datanode的块数量大于该属性的值,则每个目录用单独的消息发送块报告。 |
dfs.namenode.max.full.block.report.leases | 6 | 所有块报告的最大数量。这个数字不应该超过RPC处理器线程数或小于1。 |
dfs.namenode.full.block.report.lease.length.ms | 300000 | namenode等待块报告的超时时间,单位为毫秒。 |
dfs.datanode.directoryscan.interval | 21600 | datanode以秒为单位扫描数据目录,并协调内存块和磁盘上的块之间的差异。 |
dfs.datanode.directoryscan.threads | 1 | 线程池中用于编制卷报告的线程数。 |
dfs.datanode.directoryscan.throttle.limit.ms.per.sec | 1000 | 每秒钟用于报告编译的线程的运行时间,当有多个线程时,该属性的时间是多个线程的累计时间。 |
dfs.heartbeat.interval | 3 | datanode的心跳时间间隔,单位为秒。 |
dfs.datanode.lifeline.interval.seconds | 从datanode向namenode发送lifeline的时间间隔,单位为秒。该属性的值必须大于dfs.heartbeat.interval属性的值。 | |
dfs.namenode.handler.count | 10 | RPC服务器的监听client线程数,如果dfs.namenode.servicerpc-address属性没有配置,则线程会监听所有节点的请求。 |
dfs.namenode.service.handler.count | 10 | 只有当dfs.namenode.servicerpc-address属性配置后,该属性才有效。用于配置datanode和其它非client节点的监听线程数。 |
dfs.namenode.lifeline.handler.ratio | 0.1 | dfs.namenode.handler.count属性中,用于处理lifeline RPC服务的线程比例。例如dfs.namenode.handler.count属性值为100,并且dfs.namenode.lifeline.handler.ratio属性的值设置为0.10,则有10个线程用于处理lifeline rpc服务。 |
dfs.namenode.lifeline.handler.count | 用于处理datanode lifeline协议的RPC服务器线程数量 。 | |
dfs.namenode.safemode.threshold-pct | 0.999f | dfs.namenode.replication.min属性中副本需要满足的块的百分比。 |
dfs.namenode.safemode.min.datanodes | 0 | 在退出安全模式前,需要满足活跃的datanode的数量。 |
dfs.namenode.safemode.extension | 30000 | 在达到阈值后,经过多长时间后会退出安全模式,单位为毫秒。 |
dfs.namenode.resource.check.interval | 5000 | namenode resource checker运行的时间间隔,单位为毫秒。 |
dfs.namenode.resource.du.reserved | 104857600 | 存储或请求namenode存储目录的空间大小,单位为字节。 |
dfs.namenode.resource.checked.volumes | 本地目录列表。 | |
dfs.namenode.resource.checked.volumes.minimum | 1 | 所需的冗余namenode存储卷的最小数量。 |
dfs.datanode.balance.bandwidthPerSec | 10m | datanode的最大带宽,可以使用如下后缀k(kilo), m(mega), g(giga), t(tera),p(peta), e(exa),例如128k, 512m, 1g等。或者提供完整的字节数,如134217728。 |
dfs.hosts | 命名一个文件,该文件包含允许连接到namenode的主机列表。必须指定文件的完整路径名。如果值为空,则允许所有主机。 | |
dfs.hosts.exclude | 命名一个文件,该文件包含不允许连接到namenode的主机列表。必须指定文件的完整路径名。如果值为空,则不排除任何主机。 | |
dfs.namenode.max.objects | 0 | DFS支持的文件、目录和块的最大数量。0的值指示DFS支持的对象数目没有限制。 |
dfs.namenode.datanode.registration.ip-hostname-check | TRUE | 当为true时,namenode连接datanode的地址必须解析成主机名。 |
dfs.namenode.decommission.interval | 30 | namenode定期检查维护是否结束的时间间隔,单位是秒。 |
dfs.namenode.decommission.blocks.per.interval | 500000 | 在每次维护期间,处理块的近似数量。 |
dfs.namenode.decommission.max.concurrent.tracked.nodes | 100 | 同时进入decommisson或maintenance的datanode的数量。 |
dfs.namenode.replication.interval | 3 | namenode定期计算datanode副本数量的时间间隔,单位为秒。 |
dfs.namenode.accesstime.precision | 3600000 | HDFS文件访问时间的精确值,默认为1小时。当为0时,表示禁用。 |
dfs.datanode.plugins | 逗号分隔的datanode插件列表。 | |
dfs.namenode.plugins | 逗号分隔的namenode插件列表。 | |
dfs.namenode.block-placement-policy.default.prefer-local-node | TRUE | 控制默认块放置策略如何放置块的第一个副本。当TRUE时,它将更喜欢客户端正在运行的节点。当FALSE时,它将首选与客户端相同的机架中的节点。设置为FALSE避免了大文件的整个副本终止在单个节点上的情况,从而创建热点。 |
dfs.stream-buffer-size | 4096 | 流文件的缓冲区大小。 |
dfs.bytes-per-checksum | 512 | 每个校验和的字节数,不能大于dfs.stream-buffer-size属性的值。 |
dfs.client-write-packet-size | 65536 | 客户端写入的数据包大小。 |
dfs.client.write.exclude.nodes.cache.expiry.interval.millis | 600000 | 在客户机中排除DN列表中的DN的最大周期。在此阶段之后,以毫秒为单位,先前排除的节点将自动从缓存中移除,并且将再次被认为适合于块分配。在保持文件打开很长时间(如写前日志(WAL)文件)的情况下,可以使其降低或提高,从而使作者能够容忍集群维护重新启动。默认为10分钟。 |
dfs.namenode.checkpoint.dir | file://${hadoop.tmp.dir}/dfs/namesecondary | DFS secondary name node存放临时镜像的目录。如果这是一个逗号分隔的目录列表,则在所有目录中复制该图像以进行冗余。 |
dfs.namenode.checkpoint.edits.dir | ${dfs.namenode.checkpoint.dir} | DFS secondary name node存放临时edits的目录。如果这是一个逗号分隔的目录列表,则在所有目录中复制该图像以进行冗余。 |
dfs.namenode.checkpoint.period | 3600 | 两个周期检查点之间的秒数。 |
dfs.namenode.checkpoint.txns | 1000000 | 创建检查点的时间间隔。 |
dfs.namenode.checkpoint.check.period | 60 | 查询未检查的检查点事务的执行时间间隔,单位为秒。 |
dfs.namenode.checkpoint.max-retries | 3 | 当加载fsimage或重演edits失败时,重试的次数。 |
dfs.namenode.num.checkpoints.retained | 2 | 在namenode和seccondary namenode中保留image检查点(fsimage_*)的数量。 |
dfs.namenode.num.extra.edits.retained | 1000000 | namenode的需要保留的额外的事务。 |
dfs.namenode.max.extra.edits.segments.retained | 10000 | 额外的edit日志段的最大数量。 |
dfs.namenode.delegation.key.update-interval | 86400000 | namenode中更新委托令牌主密钥的时间间隔,单位为毫秒。 |
dfs.namenode.delegation.token.max-lifetime | 604800000 | 令牌的最大生命周期,单位为毫秒。 |
dfs.namenode.delegation.token.renew-interval | 86400000 | 授权令牌的更新间隔以毫秒为单位。 |
dfs.datanode.failed.volumes.tolerated | 0 | 在数据阳极停止服务之前允许失败的卷的数量。默认情况下,任何卷故障都会导致datanode关闭。 |
dfs.image.compress | FALSE | dfs image是否应该补充压缩。 |
dfs.image.compression.codec | org.apache.hadoop.io.compress.DefaultCodec | 如果DFS图像被压缩,它们应该如何压缩?必须是 io.compression.codecs属性中定义的编解码器。 |
dfs.image.transfer.timeout | 60000 | image传输超时时间,单位为毫秒。 |
dfs.image.transfer.bandwidthPerSec | 0 | 用于常规image传输的最大带宽,即每秒的字节数。 |
dfs.image.transfer-bootstrap-standby.bandwidthPerSec | 0 | 从image传输到bootstrap的最大带宽。 |
dfs.image.transfer.chunksize | 65536 | 上传检查点的块大小,以字节为单位。 |
dfs.namenode.support.allow.format | TRUE | 是否允许namenode将自身进行格式化。建议设置为false。 |
dfs.datanode.max.transfer.threads | 4096 | datanode进行传输数据的最大线程数。 |
dfs.datanode.scan.period.hours | 504 | 当为正值时,datanode将按照设定时间间隔进行块扫描。当为负值时,则禁止块扫描。当为0时,则使用默认的504小时(3周)进行定期扫描。 |
dfs.block.scanner.volume.bytes.per.second | 1048576 | 当为0时,datanode的块扫描会被禁用,当为正数时,该属性为datanode每秒扫描的字节数。I |
dfs.datanode.readahead.bytes | 4194304 | 在读取块文件时,如果Hadoop本地库可用,datanode可以使用posix_fadvise系统调用来在当前阅读器位置之前将数据显式地写入操作系统缓冲区缓存中。这可以提高性能,尤其是当磁盘高度竞争时。此配置指定当前数据读取位置前面的字节数,datanode将尝试提前读取。通过将此属性配置为0,可以禁用此特性。如果本地库不可用,此配置没有效果。 |
dfs.datanode.drop.cache.behind.reads | FALSE | 在一些工作负载中,从HDFS读取的数据被认为足够大以至于在操作系统缓冲区高速缓存中不太有用。在这种情况下,datanode可以被配置为在传送到客户端之后从缓存高速缓存中自动清除所有数据。对于只读取短块(例如Hbase random IO工作负载)的工作负载,此行为被自动禁用。这可以通过释放缓存缓存空间使用更多可缓存数据来改善某些工作负载的性能。如果Hadoop本机库不可用,此配置没有效果。 |
dfs.datanode.drop.cache.behind.writes | FALSE | 在一些工作负载中,已知写入HDFS的数据足够大,以至于在操作系统缓冲区高速缓存中不太有用。在这种情况下,datanode可以被配置为在写入到磁盘之后从缓存高速缓存中自动清除所有数据。这可以通过释放缓存缓存空间使用更多可缓存数据来改善某些工作负载的性能。如果Hadoop本机库不可用,此配置没有效果。 |
dfs.datanode.sync.behind.writes | FALSE | 当为true时,datanode将指示操作系统在写入后立即将所有写入的数据排队到磁盘。这与通常的OS策略不同,它可能在触发写回之前等待30秒。这可以通过平滑写入磁盘的数据的IO配置文件来改善某些工作负载的性能。如果Hadoop本机库不可用,此配置没有效果。 |
dfs.client.failover.max.attempts | 15 | client最多尝试次数,如果超过,则认为client失败。 |
dfs.client.failover.sleep.base.millis | 500 | 错误重试的时间间隔,这是一个这是迄今为止尝试的数目的函数,具有+/- 50%的随机因子。此选项指定在故障转移计算中使用的基值。第一次故障转移将立即重试。第二次故障转移尝试将至少延迟dfs.client.failover.sleep.base.millis milliseconds,等等。 |
dfs.client.failover.sleep.max.millis | 15000 | 错误重试的时间间隔,这是一个这是迄今为止尝试的数目的函数,具有+/- 50%的随机因子。此选项指定在故障转移之间等待的最大值dfs.client.failover.sleep.max.millis milliseconds属性值的+/- 50%。 |
dfs.client.failover.connection.retries | 0 | 指示故障转移IPC客户端将建立服务器连接的重试次数。 |
dfs.client.failover.connection.retries.on.timeouts | 0 | 在建立服务器连接时,故障转移IPC客户端将在套接字超时上进行重试次数。 |
dfs.client.datanode-restart.timeout | 30 | datanode重启等待时间,单位为秒。 |
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 | 120 | standby节点向active节点询问edits的时间间隔,以秒为单位。 |
dfs.ha.tail-edits.period | 60 | standby节点检查log段的时间间隔,以秒为单位。 |
dfs.ha.tail-edits.rolledits.timeout | 60 | 在active namenode上调用rollEdits RPC的超时时间,单位为秒。 |
dfs.ha.automatic-failover.enabled | FALSE | 是否启用自动故障转移。 |
dfs.client.use.datanode.hostname | FALSE | client连接datanode时,是否应该使用datanode的主机名。 |
dfs.datanode.use.datanode.hostname | FALSE | datanode连接其它datanode进行数据传输时,是否应该使用datanode的主机名。 |
dfs.client.local.interfaces | 一个逗号分隔的网络接口名称列表,用于client和datanode之间的数据传输。 | |
dfs.datanode.shared.file.descriptor.paths | /dev/shm,/tmp | 一个逗号分隔的路径列表,用于创建将在datanode和client之间共享的文件描述符。 |
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 | ${dfs.web.authentication.kerberos.principal} | 当kerberos启用时,namenode用于web UI SPNEGO验证的服务主体。 |
dfs.journalnode.kerberos.internal.spnego.principal | 当kerberos启用时,journalnode http server用于SPNEGO验证的服务主体。 | |
dfs.secondary.namenode.kerberos.internal.spnego.principal | ${dfs.web.authentication.kerberos.principal} | 当kerberos启用时,secondary namenode用于web UI SPNEGO验证的服务主体。 |
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 | FALSE | 是否允许读取“陈旧”datanode(也就是在设定时间间隔内没有向namenode发送心跳消息的节点)。 |
dfs.namenode.avoid.write.stale.datanode | FALSE | 是否允许写入“陈旧”datanode(也就是在设定时间间隔内没有向namenode发送心跳消息的节点)。 |
dfs.namenode.stale.datanode.interval | 30000 | 在设定的这个时间里,如果namenode没有收到datanode的心跳消息,则将datanode置为“陈旧”datanode,单位为毫秒。 |
dfs.namenode.write.stale.datanode.ratio | 0.5f | 当陈旧datanode的数量占比超过设置的值时,会停止写入陈旧的datanode。 |
dfs.namenode.invalidate.work.pct.per.iteration | 0.32f | 注意:高级属性。谨慎改变。该属性决定了单条datanode心跳删除命令进行块无效(删除)的百分比。0.32f表示100%。 |
dfs.namenode.replication.work.multiplier.per.iteration | 2 | 注意:高级属性。谨慎改变。Datanode并行传输时的块数量。这个数字可以是任何正、非零整数。 |
nfs.server.port | 2049 | nft的端口号。 |
nfs.mountd.port | 4242 | hadoop安装守护进程的端口号。 |
nfs.dump.dir | /tmp/.hdfs-nfs | 该目录用于在写入HDFS之前临时保存无序的写入。对于每一个文件,无序的写入在累积到超过一定的阈值(例如1MB)之后被丢弃,因此需要确保目录有足够的空间。 |
nfs.rtmax | 1048576 | 这是NFS网关支持的读取请求的最大字节大小。 |
nfs.wtmax | 1048576 | 这是NFS网关支持的写入请求的最大字节大小。 |
nfs.keytab.file | 注意:高级属性。谨慎改变。这是HDFS NFS网关的keytab文件的路径。 | |
nfs.kerberos.principal | 注意:高级属性。谨慎改变。这是Kerberos主体的名称。格式为nfs-gateway-user/nfs-gateway-host@kerberos-realm | |
nfs.allow.insecure.ports | TRUE | 当为false时,会拒绝来自无特权端口(高于1023的端口)的客户端连接。 |
dfs.webhdfs.enabled | TRUE | 是否允许在namenode和datanode中启用WebHDFS (REST API)。 |
hadoop.fuse.connection.timeout | 300 | 在fuse_dfs中缓存libhdfs连接对象的最小秒数。较低的值将导致较低的内存消耗;较高的值可以通过避免创建新连接对象的开销来加快访问速度。 |
hadoop.fuse.timer.period | 5 | fuse_dfs中缓存过期检查之间的秒数。 |
dfs.namenode.metrics.logger.period.seconds | 600 | namenode记录其度量的频率。 |
dfs.datanode.metrics.logger.period.seconds | 600 | datanode记录其度量的频率。 |
dfs.metrics.percentiles.intervals | 默认情况下被禁用。 | |
dfs.datanode.peer.stats.enabled | FALSE | 是否开启datanode的跟踪统计。 |
dfs.datanode.outliers.report.interval | 1800000 | 控制datanode报告对等延迟的频率。 |
dfs.datanode.fileio.profiling.sampling.percentage | 0 | 设置控制文件I/O事件的百分比。默认值为0禁用磁盘统计。设置为1和100之间的整数值,以启用磁盘统计。 |
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及未定义四种。 | |
dfs.encrypt.data.transfer.cipher.key.bitlength | 128 | client和datanode之间的密钥位长度,值有128,192和256三种。 |
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 | FALSE | 是否启用后面datanode支持DistributedFileSystem#getFileVBlockStorageLocations API。 |
dfs.client.file-block-storage-locations.num-threads | 10 | DistributedFileSystem#getFileBlockStorageLocations()中进行并行RPC的线程数。 |
dfs.client.file-block-storage-locations.timeout.millis | 1000 | DistributedFileSystem#getFileBlockStorageLocations()中进行RPC的超时时间,单位为毫秒。 |
dfs.journalnode.rpc-address | 0.0.0.0:8485 | JournalNode RPC服务器地址和端口。 |
dfs.journalnode.http-address | 0.0.0.0:8480 | JournalNode HTTP服务器监听的地址和端口。如果端口为0,那么服务器将在自由端口启动。 |
dfs.journalnode.https-address | 0.0.0.0:8481 | JournalNode HTTPS服务器监听的地址和端口。如果端口为0,那么服务器将在自由端口启动。 |
dfs.namenode.audit.loggers | default | org.apache.hadoop.hdfs.server.namenode.AuditLogger的实现类。 |
dfs.datanode.available-space-volume-choosing-policy.balanced-space-threshold | 10737418240 | 当dfs.datanode.fsdataset.volume.choosing.policy属性设置为org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy时使用。该属性控制datanode卷在被认为不平衡之前允许在空闲磁盘空间上有多少不同字节。如果所有卷的自由空间都在这一范围内,则卷将被认为是平衡的,并且块分配将在纯循环的基础上完成。 |
dfs.datanode.available-space-volume-choosing-policy.balanced-space-preference-fraction | 0.75f | 当dfs.datanode.fsdataset.volume.choosing.policy属性设置为org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy时使用。此属性控制新的块分配百分比将被发送给具有比其他磁盘更可用的磁盘空间的卷。这个设置应该在0.0到1.0的范围内。 |
dfs.namenode.edits.noeditlogchannelflush | FALSE | 是否刷新edit log文件通道。 |
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 | 当为true时,允许在namenode上重试缓存。 |
dfs.namenode.retrycache.expirytime.millis | 600000 | 重试缓存条目被保留的时间。 |
dfs.namenode.retrycache.heap.percent | 0.03f | 此参数配置为重试缓存分配的堆大小(不包括响应缓存)。 |
dfs.client.mmap.enabled | TRUE | 如果将此设置为false,客户端将不会尝试内存映射读取。 |
dfs.client.mmap.cache.size | 256 | 当使用0拷贝读取时,DFS client保持最近使用的内存映射区域的缓存。此参数控制将在该缓存中保留的最大条目数。这个数字越大,我们可能会使用更多的内存描述符文件描述符。注意,当这个大小设置为0时,仍然可以进行零拷贝读取。 Wh |
dfs.client.mmap.cache.timeout.ms | 3600000 | 在使用时,我们将在缓存中保持MMAP条目的最小时间长度。如果一个条目在缓存中比这个长,并且没有人使用它,它将被后台线程移除。 |
dfs.client.mmap.retry.timeout.ms | 300000 | 在重试失败的MMAP操作之前,我们将等待的最小时间量。 |
dfs.client.short.circuit.replica.stale.threshold.ms | 1800000 | 如果没有datanode的通信,我们将考虑短路副本的有效时间是最大的。经过这段时间后,即使在缓存中,我们也会重新获取短路副本。 |
dfs.namenode.path.based.cache.block.map.allocation.percent | 0.25 | 分配给缓存块地图的java堆的百分比。 |
dfs.datanode.max.locked.memory | 0 | 用于在datanode上缓存块副本的字节内存量。 |
dfs.namenode.list.cache.directives.num.responses | 100 | 设置NAMENODE将响应于listDirectives RPC发送的高速缓存指令的数量。. |
dfs.namenode.list.cache.pools.num.responses | 100 | 设置NAMENODE将响应于listPools RPC发送的高速缓存池的数量。 |
dfs.namenode.path.based.cache.refresh.interval.ms | 30000 | 后续路径高速缓存之间的毫秒数。 |
dfs.namenode.path.based.cache.retry.interval.ms | 30000 | 当NAMENODE需要取消缓存的东西,或者缓存未缓存的东西时,它必须通过发送 DNA_CACHE或DNA_UNCACHE命令来响应数据阳极心跳来引导数据。 |
dfs.datanode.fsdatasetcache.max.threads.per.volume | 4 | 用于缓存datanode上新数据的每卷的最大线程数。这些线程同时消耗I/O和CPU。这会影响正常的datanode操作。 |
dfs.cachereport.intervalMsec | 10000 | 以毫秒为单位确定缓存报告间隔。在这段时间之后,datanode将其缓存状态的完整报告发送到namenode。 |
dfs.namenode.edit.log.autoroll.multiplier.threshold | 2 | 确定active namenode何时滚动自己的edit log。 |
dfs.namenode.edit.log.autoroll.check.interval.ms | 300000 | active namenode以毫秒为单位检查它是否需要滚动自己的edit log。 |
dfs.webhdfs.user.provider.user.pattern | ^[A-Za-z_][A-Za-z0-9._-]*[$]?$ | webhdfs用户名和组的有效模式,它必须是一个有效的java正则表达式。 |
dfs.webhdfs.acl.provider.permission.pattern | ^(default:)?(user|group|mask|other):[[A-Za-z_][A-Za-z0-9._-]]*:([rwx-]{3})?(,(default:)?(user|group|mask|other):[[A-Za-z_][A-Za-z0-9._-]]*:([rwx-]{3})?)*$ | 在webhdfs ACL操作的用户和组名的有效模式,它必须是一个有效的java正则表达式。 |
dfs.webhdfs.socket.connect-timeout | 60s | 连接到WebHDFS服务器的Socket超时时间。 |
dfs.webhdfs.socket.read-timeout | 60s | 从WebHDFS服务器读取数据的套接字超时时间。单位可以为 ns, us, ms, s, m, h, d for nanoseconds, microseconds, milliseconds, seconds, minutes, hours, days 等。 |
dfs.client.context | default | 我们应该使用的DFSClient上下文的名称。 |
dfs.client.read.shortcircuit | FALSE | 此配置参数开启短路本地读取。 |
dfs.client.socket.send.buffer.size | 0 | DFSClient的套接字发送缓冲区大小。这可能影响TCP连接吞吐量。如果设置为零或负值,则不显式设置缓冲区大小,从而使TCP自动调整到某些系统上。默认值为0。. |
dfs.domain.socket.path | 可选项。DataNode 本地文件系统到 UNIX 域套接字的路径,用于 DataNode 和本地 HDFS 客户端之间的通信。该套接字用于 Short Circuit Read。只有 HDFS 系统用户和“root”拥有父目录及其所有上级的写入权限。 | |
dfs.client.read.shortcircuit.skip.checksum | FALSE | 如果设置了此配置参数,则短路本地读取将跳过校验和。这通常是不推荐的,但它可能对特殊设置有用。如果正在HDFS之外进行自己的校验求和,则可以考虑使用此方法。 |
dfs.client.read.shortcircuit.streams.cache.size | 256 | DFS客户端维护了一个最近打开的文件描述符的缓存,这个参数控制缓存中文件描述符的最大数量。 |
dfs.client.read.shortcircuit.streams.cache.expiry.ms | 300000 | 控制文件描述符在client缓存中的最小时间。 |
dfs.datanode.shared.file.descriptor.paths | /dev/shm,/tmp | 创建共享内存段的目录,用逗号分隔。Client和datanode通过这个共享内存段交换信息。 |
dfs.namenode.audit.log.debug.cmdlist | 当audit log级别是debug时,写入到namenode audit log的命令列表,用逗号分隔。 | |
dfs.client.use.legacy.blockreader.local | FALSE | 当为true时,使用基于HDFS-2246的 Legacy short-circuit reader实现方式。 |
dfs.block.local-path-access.user | 允许在legacy short-circuit本地读取时打开块文件的用户列表,用逗号分隔。 | |
dfs.client.domain.socket.data.traffic | FALSE | 控制是否会尝试通过UNIX域套接字传递正常的数据流量,而不是通过TCP套接字在节点本地数据传输上传递数据。 |
dfs.namenode.reject-unresolved-dn-topology-mapping | FALSE | 当为true时,如果datanode的拓扑映射未被解析并且返回null,则namenode将拒绝此datanode的注册。 |
dfs.client.slow.io.warning.threshold.ms | 30000 | 在dfsclient中记录慢io警告的阈值。 |
dfs.datanode.slow.io.warning.threshold.ms | 300 | 在datanode中记录慢io警告的阈值。 |
dfs.namenode.xattrs.enabled | TRUE | 是否支持扩展namenode的属性。 |
dfs.namenode.fs-limits.max-xattrs-per-inode | 32 | 每个索引节点的扩展属性的最大数目。 |
dfs.namenode.fs-limits.max-xattr-size | 16384 | 以字节为单位的扩展属性的名称和值的最大组合大小。它应该大于0,小于或等于32768。 |
dfs.namenode.lease-recheck-interval-ms | 2000 | |
dfs.namenode.max-lock-hold-to-release-lease-ms | 25 | 在释放lease期间,锁会使NAMENODE上的任何操作卡住。 |
dfs.namenode.write-lock-reporting-threshold-ms | 5000 | 当一个写锁在NAMENODE上被保存很长时间时,当锁被释放时,这将被记录下来。这设置了日志记录发生时必须持有锁的时间。 |
dfs.namenode.read-lock-reporting-threshold-ms | 5000 | 当读锁在NAMENODE上保存很长时间时,当锁被释放时将记录该日志。这设置了日志记录发生时必须持有锁的时间。 |
dfs.namenode.lock.detailed-metrics.enabled | FALSE | 如果为true,NAMENODE将跟踪各种操作保存命名空间锁的时间,并将其作为度量。 |
dfs.namenode.fslock.fair | TRUE | 如果为true,FS namesystem锁将在公平模式下使用,这将有助于防止编写器线程被饿死,但可以提供更低的锁定吞吐量。 |
dfs.namenode.startup.delay.block.deletion.sec | 0 | 在NAMENODE启动后,延迟设定时间后,我们将暂停块删除。默认情况下,它已被禁用。 |
dfs.namenode.list.encryption.zones.num.responses | 100 | 当列出加密区域时,将在批处理中返回的最大区域数。 |
dfs.namenode.list.openfiles.num.responses | 1000 | 当列出打开的文件时,将在单个批处理中返回的最大打开文件数。 |
dfs.namenode.edekcacheloader.interval.ms | 1000 | 当KeyProvider配置后,namenode被启动或变成active时,进行edek 缓存预热的时间间隔。 |
dfs.namenode.edekcacheloader.initial.delay.ms | 3000 | 当KeyProvider配置后, namenode被启动或变成active时,第一次尝试edit cache缓存预热的延迟时间。 |
dfs.namenode.inotify.max.events.per.rpc | 1000 | 将在单个RPC响应中发送给客户端的最大事件数。 |
dfs.user.home.dir.prefix | /user | 该目录用于添加用户名以获得用户的home目录。 |
dfs.datanode.cache.revocation.timeout.ms | 900000 | 当dfsclient读取缓存中的datanode块文件时,将跳过校验。datanode将保持块文件在缓存中,直到客户端完成。但是,如果客户端占用非常长的时间,那么datanode可能需要从缓存中逐出块文件。此属性数值控制datanode等待客户端释放其没有校验和读取的副本的时间。 |
dfs.datanode.cache.revocation.polling.ms | 500 | datanode应该多久轮询一次,看看客户端是否停止使用datanode想要取消的副本。 |
dfs.datanode.block.id.layout.upgrade.threads | 12 | 创建硬链接的最大线程数。 |
dfs.storage.policy.enabled | TRUE | 允许用户更改文件和目录的存储策略。 |
dfs.namenode.legacy-oiv-image.dir | 在standby namenode和secondary namenode的检查点期间,保存fsimage的命名空间的位置。 | |
dfs.namenode.top.enabled | TRUE | 启用nntop |
dfs.namenode.top.window.num.buckets | 10 | nntop的桶数。 |
dfs.namenode.top.num.users | 10 | 顶部工具返回的顶级用户数。 |
dfs.namenode.top.windows.minutes | 1,5,25 | nntop在分钟内的报告周期,用逗号分隔。 |
dfs.webhdfs.ugi.expire.after.access | 600000 | 在最后一次访问之后,缓存的UGI将在多长时间内过期。0表示永不过期。 |
dfs.namenode.blocks.per.postponedblocks.rescan | 10000 | 在postponedMisreplicatedBlocks每个迭代中扫描的块数。 |
dfs.datanode.block-pinning.enabled | FALSE | PIN块是否在受欢迎的datanode上。 |
dfs.client.block.write.locateFollowingBlock.initial.delay.ms | 400 | locateFollowingBlock的初始延迟,每个重试的延迟时间将成倍增加。 |
dfs.ha.zkfc.nn.http.timeout.ms | 20000 | 当DFS ZKFC在本地namenode成为服务不正常后,尝试获得本地namenode线程转储时,HTTP连接和读取超时值(单位为MS)。 |
dfs.namenode.quota.init-threads | 4 | quota初始化并发线程的数量。 |
dfs.datanode.transfer.socket.send.buffer.size | 0 | DataXceiver Socket发送缓冲区大小。 |
dfs.datanode.transfer.socket.recv.buffer.size | 0 | DataXceiver Socket接收缓冲区大小。 |
dfs.namenode.upgrade.domain.factor | ${dfs.replication} | 只有当将块放置策略设置为BlockPlacementPolicyWithUpgradeDomain时,才有效。它定义了任何块的副本应该具有的唯一升级域的数量。当副本的数量小于或等于该值时,策略确保每个副本具有唯一的升级域。当副本的数量大于该值时,策略确保唯一域的数量至少为该值。 |
dfs.ha.zkfc.port | 8019 | ZKFC的RPC端口。 |
dfs.datanode.bp-ready.timeout | 20 | 在接收到的请求失败之前,datanode的最大等待时间准备就绪。 |
dfs.datanode.cached-dfsused.check.interval.ms | 600000 | 在每个卷中加载DU_CACHE_FILE的间隔检查时间。 |
dfs.webhdfs.rest-csrf.enabled | FALSE | 如果为真,则允许WebHDFS对跨站点请求伪造(CSRF)进行保护。 |
dfs.webhdfs.rest-csrf.custom-header | X-XSRF-HEADER | 当 dfs.webhdfs.rest-csrf.enabled属性为true时,发送的HTTP请求的custom header。 |
dfs.webhdfs.rest-csrf.methods-to-ignore | GET,OPTIONS,HEAD,TRACE | 当dfs.webhdfs.rest-csrf.enabled属性为true时,HTTP请求中不需要custom header的列表,用逗号分隔。 |
dfs.webhdfs.rest-csrf.browser-useragents-regex | ^Mozilla.*,^Opera.* | 当dfs.webhdfs.reset-csrf.enabled属性为true时,HTTP请求的用户代理头部需匹配的正则表达式。 |
dfs.xframe.enabled | TRUE | 当为true时,则通过将返回的X_FRAME_OPTIONS设置为SAMEORIGIN,来实现对点击劫持的保护。 |
dfs.xframe.value | SAMEORIGIN | 选项有三个:DENY/SAMEORIGIN/ALLOW-FROM。 |
dfs.http.client.retry.policy.enabled | FALSE | 当为true时,允许WebHDFS客户端的重试策略。当WebHDFS需要在集群间拷贝超大文件,此策略非常有用。 |
dfs.http.client.retry.policy.spec | 10000,6,60000,10 | 指定WebHDFS客户端的多线性随机重试策略,例如给定重试次数和睡眠时间(N0,T0),(N1,T1),…,重试N0次后睡眠T0毫秒,重试N1次后睡眠T1毫秒,等等。 |
dfs.http.client.failover.max.attempts | 15 | 指定WebHDFS客户端在网络异常情况下的故障转移尝试的最大数目。 |
dfs.http.client.retry.max.attempts | 10 | 指定WebHDFS客户端重试尝试的最大次数。 |
dfs.http.client.failover.sleep.base.millis | 500 | WebHDFS客户端在重试或故障转移之间的指数增加的睡眠时间,单位为毫秒。 |
dfs.http.client.failover.sleep.max.millis | 15000 | 在WebHDFS客户端重试或故障转移之间指定睡眠时间的上限,单位为毫秒。 |
dfs.namenode.hosts.provider.classname | org.apache.hadoop.hdfs.server.blockmanagement.HostFileManager | 提供主机文件访问的类。 |
datanode.https.port | 50475 | datanode的HTTPS端口。 |
dfs.balancer.dispatcherThreads | 200 | 用于HDFS均衡器块移动器的线程池的大小。 |
dfs.balancer.movedWinWidth | 5400000 | HDFS平衡器跟踪块及其位置的时间窗口,单位是毫秒。 |
dfs.balancer.moverThreads | 1000 | 用于执行块移动的线程池大小。 |
dfs.balancer.max-size-to-move | 10737418240 | 在单个线程中平衡器可以移动的最大字节数。 |
dfs.balancer.getBlocks.min-block-size | 10485760 | 在获取源块列表时忽略字节的最小块阈值大小。 |
dfs.balancer.getBlocks.size | 2147483648 | 获取源块列表时获得的datanode块的总字节大小。 |
dfs.balancer.block-move.timeout | 0 | 块移动所需的最大毫秒时间。在典型的集群中,3到5分钟的超时是合理的。如果大量的块移动发生超时,这需要增加。 |
dfs.balancer.max-no-move-interval | 60000 | 如果在指定的这个时间内,没有将块从datanode中移出,则在平衡器迭代中,将更大努力投入于datanode的块移出中来。 |
dfs.block.invalidate.limit | 1000 | 由NAMENODE发送到每个心跳删除命令的datanode的无效块的最大数目。 |
dfs.block.misreplication.processing.limit | 10000 | 初始化复制队列所需处理的最大块数。 |
dfs.block.replicator.classname | org.apache.hadoop.hdfs.server.blockmanagement.BlockPlacementPolicyDefault | 表示 non-striped的块放置策略的类。选项有:BlockPlacementPolicyDefault、 BlockPlacementPolicyWithNodeGroup、BlockPlacementPolicyRackFaultTolerant、BlockPlacementPolicyWithUpgradeDomain.。 |
dfs.blockreport.incremental.intervalMsec | 0 | 从datanode向namenode发送增量块报告的等待时间,单位为毫秒。 |
dfs.checksum.type | CRC32C | 校验和类型 。 |
dfs.client.block.write.locateFollowingBlock.retries | 5 | 在HDFS中查找下一个块时使用的重试次数。 |
dfs.client.failover.proxy.provider | 为主机配置的故障转移代理提供程序的类名的前缀(加上所需的名称服务ID)。 | |
dfs.client.key.provider.cache.expiry | 864000000 | DFS客户端安全密钥缓存过期时间,以毫秒为单位。 |
dfs.client.max.block.acquire.failures | 3 | 试图从指定的datanode获取块信息时允许出现的最多错误数。 |
dfs.client.read.prefetch.size | DFS客户端在读操作时每次从namenode读取的字节数。默认值是dfs.blocksize属性值的10倍。 | |
dfs.client.read.short.circuit.replica.stale.threshold.ms | 1800000 | 在 short-circuit本地读取期间,读取entries的最大阈值,单位是毫秒。 |
dfs.client.read.shortcircuit.buffer.size | 1048576 | 用于本地短路读取的缓冲区大小。 |
dfs.client.replica.accessor.builder.classes | 用于构建ReplicaAccessor的类,用逗号分隔。 | |
dfs.client.retry.interval-ms.get-last-block-length | 4000 | 在从datanode获取块长度时,再次重试间的时间间隔,单位是毫秒。 |
dfs.client.retry.max.attempts | 10 | DFS客户端尝试与namenode会话的最大重试次数。 |
dfs.client.retry.policy.enabled | FALSE | 当为true时,则开启DFS客户端的重试策略。 |
dfs.client.retry.policy.spec | 10000,6,60000,10 | DFS客户端的超时时间和重试次数的数值对。 |
dfs.client.retry.times.get-last-block-length | 3 | 调用fetchLocatedBlocksAndGetLastBlockLength()的最大重试次数。 |
dfs.client.retry.window.base | 3000 | 用于DFS客户端重试的MS的基本时间窗口。对于每个重试尝试,该值线性扩展(例如,第一次尝试3000毫秒,第二次重试6000毫秒,第三次重试9000毫秒等)。 |
dfs.client.socket-timeout | 60000 | 所有socket的默认超时时间,单位为毫秒。 |
dfs.client.socketcache.capacity | 16 | 用于短路读取的socket缓存容量。 |
dfs.client.socketcache.expiryMsec | 3000 | 用于短路读取的socket缓存过期时间,单位为毫秒。 |
dfs.client.test.drop.namenode.response.number | 0 | 每个RPC调用由DFS客户端删除的namenode响应的数目。用于测试namenode重试缓存。 |
dfs.client.hedged.read.threadpool.size | 0 | 支持DFS客户端的hedged读取。若要启用此特性,需要将参数设置为正数。 |
dfs.client.hedged.read.threshold.millis | 500 | 配置DFS客户端的hedged读取。属性值为启动hedged读取前的等待时间。 |
dfs.client.use.legacy.blockreader | FALSE | 当为true时,则本地短路读取使用RemoteBlockReader类,当为false时,则使用RemoteBlockReader2类。 |
dfs.client.write.byte-array-manager.count-limit | 2048 | 每个数组长度允许的最大数组数。 |
dfs.client.write.byte-array-manager.count-reset-time-period-ms | 10000 | 分配每个数组长度的时间间隔,如果没有增量,则为0。 |
dfs.client.write.byte-array-manager.count-threshold | 128 | 每个数组长度的计数阈值,使得只有在分配计数超过阈值后才创建管理器。 |
dfs.client.write.byte-array-manager.enabled | FALSE | 如果为true,则启用DFSOutputStream流使用的字节数组管理器。 |
dfs.client.write.max-packets-in-flight | 80 | DFSPackets允许的最大间隔数。 |
dfs.content-summary.limit | 5000 | 在一个锁定周期中允许的最大内容摘要计数。0或负数意味着没有限制。 |
dfs.content-summary.sleep-microsec | 500 | 在内容汇总计算中,两次请求锁的时间。 |
dfs.data.transfer.client.tcpnodelay | TRUE | 当为true时,则从DFS客户端传输时,设置socket为TCP_NODELAY。 |
dfs.datanode.balance.max.concurrent.moves | 50 | 做balance时每个dn移动块的最大并行线程数。 |
dfs.datanode.fsdataset.factory | 为datanode存储副本的基础存储的类名。默认为org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetFactory。 | |
dfs.datanode.fsdataset.volume.choosing.policy | 目录列表中选择卷的策略的类名。默认为org.apache.hadoop.hdfs.server.datanode.fsdataset.RoundRobinVolumeChoosingPolicy。 | |
dfs.datanode.hostname | 可选的。包含此配置文件的datanode的主机名。每个机器都会不同。默认为当前主机名。 | |
dfs.datanode.lazywriter.interval.sec | 60 | 惰性持久化写入datanode的时间间隔。 |
dfs.datanode.network.counts.cache.max.size | 2147483647 | 每个主机网络错误计数缓存的datanode可能包含的条目的最大数量。 |
dfs.datanode.oob.timeout-ms | 1500,0,0,0 | 为每个OOB类型发送OOB响应时的超时值,分别为OOB_RESTART、OOB_RESERVED1、OOB_RESERVED2、OOB_RESERVED3。目前只有OOB_RESTART被用到。 |
dfs.datanode.parallel.volumes.load.threads.num | 用于升级数据目录的最大线程数。默认值是datanode中存储目录的数量。 | |
dfs.datanode.ram.disk.replica.tracker | 实现RamDiskReplicaTracker接口的类的名称。默认为org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.RamDiskReplicaLruTracker。 | |
dfs.datanode.restart.replica.expiration | 50 | 在重新启动关机期间,为datanode重新启动的预算时间,单位为秒。 |
dfs.datanode.socket.reuse.keepalive | 4000 | 在DataXceiver关闭单个请求的套接字之间的时间窗口。如果在该窗口内出现第二个请求,则可以重新使用套接字。 |
dfs.datanode.socket.write.timeout | 480000 | 写入danode的客户端socket超时时间,单位为毫秒。 |
dfs.datanode.sync.behind.writes.in.background | FALSE | 如果设置为true,那么sync_file_range()系统调用将异步发生。 |
dfs.datanode.transferTo.allowed | TRUE | 当为false时,则在32位机器上,将大于等于2GB的块分成较小的块。 |
dfs.ha.fencing.methods | 在故障转移期间,用于激活namenode的脚本或类名列表。 | |
dfs.ha.standby.checkpoints | TRUE | 如果为true,则在待机状态下的NAMENODE周期性地采取命名空间的检查点,将其保存到本地存储,然后上载到远程NAMENODE。 |
dfs.ha.zkfc.port | 8019 | zookeeper故障转移控制器RPC服务器绑定的端口号。 |
dfs.http.port | Hftp、HttpFS、WebHdfs的http端口。 | |
dfs.https.port | Hftp、HttpFS、WebHdfs的https端口。 | |
dfs.journalnode.edits.dir | /tmp/hadoop/dfs/journalnode/ | 存储 journal edit文件的目录。 |
dfs.journalnode.kerberos.internal.spnego.principal | journal节点使用的Kerberos SPNEGO主体名称。 | |
dfs.journalnode.kerberos.principal | journal节点使用的Kerberos主体名称。 | |
dfs.journalnode.keytab.file | journal节点keytab文件。 | |
dfs.ls.limit | 1000 | 限制ls打印的文件数。如果小于或等于零,最多将打印 DFS_LIST_LIMIT_DEFAULT (= 1000)。 |
dfs.mover.movedWinWidth | 5400000 | 一个块可以再次移动到另一个位置的最小时间间隔,以毫秒为单位。 |
dfs.mover.moverThreads | 1000 | 配置均衡器的移动线程池大小。 |
dfs.mover.retry.max.attempts | 10 | 在移动者认为移动失败之前重试的最大次数。 |
dfs.mover.max-no-move-interval | 60000 | 如果指定的时间量已经过去,并且没有块已经从源datanode中移出,则将更加努力地将块移到当前MOVER迭代中的该datanode之外。 |
dfs.namenode.audit.log.async | FALSE | 如果为true,启用异步审计日志。 |
dfs.namenode.audit.log.token.tracking.id | FALSE | 如果为true,则为所有审计日志事件添加跟踪ID。 |
dfs.namenode.available-space-block-placement-policy.balanced-space-preference-fraction | 0.6 | 只有当dfs.block.replicator.classname设置为org.apache.hadoop.hdfs.server.blockmanagement.AvailableSpaceBlockPlacementPolicy时使用。值在0和1之间。 |
dfs.namenode.backup.dnrpc-address | 用于备份NAMENODE的服务RPC地址。 | |
dfs.namenode.delegation.token.always-use | FALSE | 用于测试。设置为TRUE时总是允许使用DT秘密管理器,即使安全被禁用。 |
dfs.namenode.edits.asynclogging | TRUE | 如果设置为true,则启用NAMENODE中的异步编辑日志。如果设置为false,NAMENODE使用传统的同步编辑日志。 |
dfs.namenode.edits.dir.minimum | 1 | dfs.namenode.edits.dir同时需要的目录。 |
dfs.namenode.edits.journal-plugin | 当FSEditLog正在从dfs.namenode.edits.dir创建日记管理器时,它遇到一个与“文件”不同的模式的URI,它从“dfs.namenode.edits.journal-plugin.[schema]”中加载实现类的名称。这个类必须实现日志管理器,并有一个构造函数。 | |
dfs.namenode.file.close.num-committed-allowed | 0 | 通常,只能当所有块都提交后,才能关闭文件。当该值设置为正整数N时,当N个块被提交并且其余部分完成时,文件可以被关闭。 |
dfs.namenode.inode.attributes.provider.class | 用于委派HDFS授权的类的名称。 | |
dfs.namenode.inode.attributes.provider.bypass.users | 将为所有操作绕过外部属性提供程序的用户主体或用户名的列表。 | |
dfs.namenode.max-num-blocks-to-log | 1000 | 对块报告后由NAMENODE打印到日志块的数量进行限制。 |
dfs.namenode.max.op.size | 52428800 | 最大操作码大小,以字节为单位。 |
dfs.namenode.name.cache.threshold | 10 | 经常访问的文件访问次数超过了这个阈值,缓存在FSDirectory nameCache中。 |
dfs.namenode.replication.max-streams | 2 | 最高优先级复制流的数量的硬限制。 |
dfs.namenode.replication.max-streams-hard-limit | 4 | 所有复制流的硬限制。 |
dfs.namenode.replication.pending.timeout-sec | -1 | 块复制的超时秒数。如果这个值是0或更少,那么它将默认为5分钟。 |
dfs.namenode.stale.datanode.minimum.interval | 3 | 用NAMENODE标记datanode的数据丢失间隔的最小次数。 |
dfs.namenode.snapshot.capture.openfiles | FALSE | 如果为true,则获取的快照将具有具有有效租约的打开文件的不可变共享副本。即使在打开的文件增长或缩小的大小,快照总是会有以前的时间点打开文件的版本,就像所有其他封闭的文件。默认为false。 |
dfs.namenode.snapshot.skip.capture.accesstime-only-change | FALSE | 如果文件/目录的访问时间发生了更改,但没有对文件/目录进行其他修改,则在下一个快照中不会捕获更改后的访问时间。但是,如果对文件/目录进行了其他修改,则最新的访问时间将与下一快照中的修改一起捕获。 |
dfs.pipeline.ecn | FALSE | 如果为true,则允许来自datanode的ECN(显式拥塞通知)。 |
dfs.qjournal.accept-recovery.timeout.ms | 120000 | 在特定段的恢复/同步接受阶段中的仲裁超时时间,以毫秒为单位。 |
dfs.qjournal.finalize-segment.timeout.ms | 120000 | 在特定片段的最终确定过程中的仲裁超时时间,以毫秒为单位。 |
dfs.qjournal.get-journal-state.timeout.ms | 120000 | 调用 getJournalState()的超时时间。 |
dfs.qjournal.new-epoch.timeout.ms | 120000 | 获得对日志节点的写入访问的opoch数时的超时时间,以毫秒为单位。 |
dfs.qjournal.prepare-recovery.timeout.ms | 120000 | 在特定段的恢复/同步准备阶段的仲裁超时时间,以毫秒为单位。 |
dfs.qjournal.queued-edits.limit.mb | 10 | quorum journal edits的队列大小,单位是MB。 |
dfs.qjournal.select-input-streams.timeout.ms | 20000 | 从日记管理器接受流时的超时时间,以毫秒为单位。 |
dfs.qjournal.start-segment.timeout.ms | 20000 | 启动日志段的超时时间,以毫秒为单位。 |
dfs.qjournal.write-txns.timeout.ms | 20000 | 定稿远程journal的超时时间,以毫秒为单位。 |
dfs.quota.by.storage.type.enabled | TRUE | 如果为true,则启用基于存储类型的配额。 |
dfs.secondary.namenode.kerberos.principal | Secondary NameNode的Kerberos主体名称。 | |
dfs.secondary.namenode.keytab.file | Secondary NameNode的Kerberos keytab文件。 | |
dfs.support.append | TRUE | 启用NAMENODE上的append支持。 |
dfs.web.authentication.filter | org.apache.hadoop.hdfs.web.AuthFilter | 用于WebHDFS的身份验证筛选器类。 |
dfs.web.authentication.simple.anonymous.allowed | 如果为true,允许匿名用户访问WebHDFS。设置为false以禁用匿名身份验证。 | |
dfs.web.ugi | dfs.web.ugi被弃用,建议用hadoop.http.staticuser.user代替。 | |
dfs.webhdfs.netty.high.watermark | 65535 | Datanode WebHdfs的Netty高水印配置。 |
dfs.webhdfs.netty.low.watermark | 32768 | Datanode WebHdfs的Netty低水印配置。 |
dfs.webhdfs.oauth2.access.token.provider | 使用OAuth2访问WebHDFS的令牌提供者类。默认为org.apache.hadoop.hdfs.web.oauth2.ConfCredentialBasedAccessTokenProvider。 | |
dfs.webhdfs.oauth2.client.id | 客户端ID,用于获取凭据或刷新令牌的访问令牌。 | |
dfs.webhdfs.oauth2.enabled | FALSE | 如果为true,则启用WebHDFS中的OAuth2 。 |
dfs.webhdfs.oauth2.refresh.url | 用以获得带有凭证或刷新令牌的承载令牌的URL。 | |
ssl.server.keystore.keypassword | HTTPS-SSL配置的密钥存储密钥密码。 | |
ssl.server.keystore.location | HTTPS-SSL配置的密钥存储位置。 | |
ssl.server.keystore.password | HTTPS-SSL配置的密钥存储密码。 | |
dfs.balancer.keytab.enabled | FALSE | 设置为true以启用Kerberized Hadoop的keytab的登录。 |
dfs.balancer.address | 0.0.0.0:0 | 基于Kerberos登录时,用于keytab的主机名。 |
dfs.balancer.keytab.file | 平衡器使用的keytab文件作为其服务主体登录。 | |
dfs.balancer.kerberos.principal | 平衡器主体,通常为balancer/[email protected]。 | |
ssl.server.truststore.location | HTTPS-SSL配置的信任存储位置。 | |
ssl.server.truststore.password | HTTPS-SSL配置的信任存储密码。 | |
dfs.lock.suppress.warning.interval | 10s | 报告长临界段的instrumentation在设置的时间间隔内,将挂起警告。 |
dfs.webhdfs.use.ipc.callq | TRUE | 通过通过rpc调用的webhdfs路由。 |
httpfs.buffer.size | 4096 | 创建或打开HTTPFS文件系统IO流时使用的缓冲区大小。 |
dfs.datanode.disk.check.min.gap | 15m | 同一datanode卷的两次连续检查之间的最小间隔。 |
dfs.datanode.disk.check.timeout | 10m | 在DataNode启动期间,磁盘检查完成的最大允许时间。如果在该时间间隔内没有完成检查,则将磁盘声明为失败。此设置支持多个时间单位后缀,如 dfs.heartbeat.interval中所描述的。如果没有指定后缀,则假设为毫秒。 |
dfs.use.dfs.network.topology | TRUE | 启用DFSNetworkTopology选择放置副本的节点。 |
dfs.qjm.operations.timeout | 60s | QuorumJournalManager为相关操作设置超时的公共密钥。 |
dfs.reformat.disabled | FALSE | 禁用NAMENODE的重新格式化。 |
dfs.federation.router.default.nameserviceId | 要监视的默认子集群的Nameservice标识符。 | |
dfs.federation.router.rpc.enable | TRUE | 如果为true,则启用在路由器中处理客户端请求的RPC服务。 |
dfs.federation.router.rpc-address | 0.0.0.0:8888 | 处理所有客户端请求的RPC地址。此属性的值将采用 router-host1:rpc-port端口的形式。 |
dfs.federation.router.rpc-bind-host | RPC服务器将绑定到的实际地址。如果设置了这个可选地址,它只覆盖dfs.federation.router.rpc-address的主机名部分。 | |
dfs.federation.router.handler.count | 10 | 路由器用于处理来自客户端的RPC请求的服务器线程数。 |
dfs.federation.router.handler.queue.size | 100 | 处理RPC客户端请求的处理数的队列大小。 |
dfs.federation.router.reader.count | 1 | 路由器处理RPC客户端请求的读数。 |
dfs.federation.router.reader.queue.size | 100 | 路由器处理RPC客户端请求的读数的队列大小。 |
dfs.federation.router.connection.pool-size | 1 | 从路由器到NAMENODE的连接池的大小。 |
dfs.federation.router.connection.clean.ms | 10000 | 时间间隔,以毫秒为单位,检查连接池是否应该删除未使用的连接。 |
dfs.federation.router.connection.pool.clean.ms | 60000 | 时间间隔,以毫秒为单位,检查连接管理器是否应该删除未使用的连接池。 |
dfs.federation.router.metrics.enable | TRUE | 是否启用了路由器中的度量。 |
dfs.federation.router.metrics.class | org.apache.hadoop.hdfs.server.federation.metrics.FederationRPCPerformanceMonitor | 类来监视路由器中的RPC系统。它必须实现RouterRpcMonitor接口。 |
dfs.federation.router.admin.enable | TRUE | 如果为true,则启用在路由器中处理客户端请求的RPC管理服务。 |
dfs.federation.router.admin-address | 0.0.0.0:8111 | 处理管理请求的RPC地址。此属性的值将采用router-host1:rpc-port的形式。 |
dfs.federation.router.admin-bind-host | RPC管理服务器将绑定到的实际地址。如果设置了这个可选地址,它只覆盖 dfs.federation.router.admin-address地址的主机名部分。 | |
dfs.federation.router.admin.handler.count | 1 | 路由器的服务器线程数,以处理来自管理员的RPC请求。 |
dfs.federation.router.http-address | 0.0.0.0:50071 | 处理Web请求到路由器的HTTP地址。此属性的值将采用router-host1:http-port端口的形式。 |
dfs.federation.router.http-bind-host | HTTP服务器将绑定到的实际地址。如果设置了这个可选地址,它只覆盖dfs.federation.router.http-address地址的主机名部分。 | |
dfs.federation.router.https-address | 0.0.0.0:50072 | 处理Web请求到路由器的HTTPS地址。此属性的值将采用router-host1:https-port端口的形式。 |
dfs.federation.router.https-bind-host | HTTPS服务器将绑定到的实际地址。如果设置了这个可选地址,它只覆盖dfs.federation.router.https-address地址的主机名部分。 | |
dfs.federation.router.http.enable | TRUE | 是否启用了在路由器中处理客户端请求的HTTP服务。 |
dfs.federation.router.metrics.enable | TRUE | 是否启用了路由器中的度量服务。 |
dfs.federation.router.file.resolver.client.class | org.apache.hadoop.hdfs.server.federation.MockResolver | 文件解析为子集群的类。 |
dfs.federation.router.namenode.resolver.client.class | org.apache.hadoop.hdfs.server.federation.resolver.MembershipNamenodeResolver | 解析子集群的NAMENODE的类。 |
dfs.federation.router.store.enable | TRUE | 如果为TRUE,路由器连接到状态存储。 |
dfs.federation.router.store.serializer | org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreSerializerPBImpl | 序列化状态存储记录的类。 |
dfs.federation.router.store.driver.class | org.apache.hadoop.hdfs.server.federation.store.driver.impl.StateStoreFileImpl | 实现状态存储的类。默认情况下,它使用本地磁盘。 |
dfs.federation.router.store.connection.test | 60000 | 在毫秒内检查连接到状态存储的频率。 |
dfs.federation.router.cache.ttl | 60000 | 在毫秒内刷新状态存储缓存的频率。 |
dfs.federation.router.store.membership.expiration | 300000 | membership记录的过期时间,单位为毫秒。 |
dfs.federation.router.heartbeat.enable | TRUE | 如果为true,路由器心跳进入状态存储。 |
dfs.federation.router.heartbeat.interval | 5000 | 路由器进入状态存储的心跳频率,单位为毫秒。 |
dfs.federation.router.monitor.namenode | NAMENODE的标识符以监视和心跳。 | |
dfs.federation.router.monitor.localnamenode.enable | TRUE | 如果为true,路由器应监视本地机器中的NAMENODE。 |