hadoop配置文件详解系列(二)-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/_HOST

@REALM.TLD。每个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/_HOST

@REALM.TLD。每个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的SaslProperties

Resolver,默认是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#getFileBlockStorage

Locations()中进行并行RPC的线程数。

dfs.client.file-block-storage locations.timeout.millis 1000

DistributedFileSystem#getFileBlockStorage

Locations()中进行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.AvailableSpace

VolumeChoosingPolicy时使用。该属性控制

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.AvailableSpace

VolumeChoosingPolicy时使用。此属性控制新

的块分配百分比将被发送给具有比其他磁盘更

可用的磁盘空间的卷。这个设置应该在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}

只有当将块放置策略设置为BlockPlacement

PolicyWithUpgradeDomain时,才有效。它定义了

任何块的副本应该具有的唯一升级域的数量。当副

本的数量小于或等于该值时,策略确保每个副本具

有唯一的升级域。当副本的数量大于该值时,策略

确保唯一域的数量至少为该值。 

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.blockman

agement.BlockPlacementPolicyDefault

表示 non-striped的块放置策略的类。选项有:

BlockPlacementPolicyDefault、 BlockPlacement

PolicyWithNodeGroup、BlockPlacementPolicy

RackFaultTolerant、BlockPlacementPolicyWith

UpgradeDomain.。

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时,则本地短路读取使用RemoteBlock

Reader类,当为false时,则使用RemoteBlock

Reader2类。

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.ConfCredential

BasedAccessTokenProvider。

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。

 

分类: Hadoop

你可能感兴趣的:(Hadoop,大数据学习)