hadoop配置文件详解系列

浏览apache官网,三个配置文件链接如下:

常用的端口配置

HDFS端口

参数

描述

默认

配置文件

例子值

fs.default.name namenode

namenode RPC交互端口

8020

core-site.xml

hdfs://master:8020/

dfs.http.address

NameNode web管理端口

50070

hdfs- site.xml

0.0.0.0:50070

dfs.datanode.address

datanode 控制端口

50010

hdfs -site.xml

0.0.0.0:50010

dfs.datanode.ipc.address

datanode的RPC服务器地址和端口

50020

hdfs-site.xml

0.0.0.0:50020

dfs.datanode.http.address

datanode的HTTP服务器和端口

50075

hdfs-site.xml

0.0.0.0:50075

MR端口

参数

描述

默认

配置文件

例子值

mapred.job.tracker

job-tracker交互端口

8021

mapred-site.xml

hdfs://master:8021/

job

tracker的web管理端口

50030

mapred-site.xml

0.0.0.0:50030

mapred.task.tracker.http.address

task-tracker的HTTP端口

50060

mapred-site.xml

0.0.0.0:50060

其它端口

参数

描述

默认

配置文件

例子值

dfs.secondary.http.address

secondary NameNode web管理端口

50090

hdfs-site.xml

0.0.0.0:50090

### **配置参考文件说明**

core-site.html

序号

参数名

参数值

参数说明

1

hadoop.tmp.dir                     

/tmp/hadoop-${user.name}                             

临时目录设定

2

hadoop.native.lib                  

true                                                

使用本地hadoop库标识。

3

hadoop.http.filter.initializers   

 

http服务器过滤链设置                        

4

hadoop.security.group.mapping      

org.apache.hadoop.security.ShellBasedUnixGroupsMapping

组内用户的列表的类设定

5

hadoop.security.authorization      

false                                                

服务端认证开启

6

hadoop.security.authentication     

simple                                                

无认证或认证设置

7

hadoop.security.token.service.use_ip

true                                                

是否开启使用IP地址作为连接的开关

8

hadoop.logfile.size               

10000000                                             

日志文件最大为10M

9

hadoop.logfile.count

10                                                   

日志文件数量为10个

10

io.file.buffer.size

4096

流文件的缓冲区为4K

11

io.bytes.per.checksum

512

校验位数为512字节

12

io.skip.checksum.errors

false

校验出错后是抛出异常还是略过标识。True则略过。

13

io.compression.codecs

org.apache.hadoop.io.compress.DefaultCodec,

org.apache.hadoop.io.compress.GzipCodec,

org.apache.hadoop.io.compress.BZip2Codec,

org.apache.hadoop.io.compress.SnappyCodec

压缩和解压的方式设置

14

io.serializations

org.apache.hadoop.io.serializer.WritableSerialization

序例化和反序列化的类设定

15

fs.default.name

file:///                                            

缺省的文件URI标识设定。

16

fs.trash.interval

0                                                   

文件废弃标识设定,0为禁止此功能

17

fs.file.impl

org.apache.hadoop.fs.LocalFileSystem               

本地文件操作类设置

18

fs.hdfs.impl

org.apache.hadoop.hdfs.DistributedFileSystem        

HDFS文件操作类设置

19

fs.s3.impl

org.apache.hadoop.fs.s3.S3FileSystem               

S3文件操作类设置

20

fs.s3n.impl            

org.apache.hadoop.fs.s3native.NativeS3FileSystem

S3文件本地操作类设置

21

fs.kfs.impl            

org.apache.hadoop.fs.kfs.KosmosFileSystem

KFS文件操作类设置.

22

fs.hftp.impl            

org.apache.hadoop.hdfs.HftpFileSystem

HTTP方式操作文件设置

23

fs.hsftp.impl           

org.apache.hadoop.hdfs.HsftpFileSystem

HTTPS方式操作文件设置

24

fs.webhdfs.impl         

org.apache.hadoop.hdfs.web.WebHdfsFileSystem

WEB方式操作文件类设置

25

fs.ftp.impl            

org.apache.hadoop.fs.ftp.FTPFileSystem

FTP文件操作类设置

26

fs.ramfs.impl           

org.apache.hadoop.fs.InMemoryFileSystem

内存文件操作类设置

27

fs.har.impl            

org.apache.hadoop.fs.HarFileSystem

压缩文件操作类设置.

28

fs.har.impl.disable.cache

true

是否缓存har文件的标识设定

29

fs.checkpoint.dir      

${hadoop.tmp.dir}/dfs/namesecondary

备份名称节点的存放目前录设置

30

fs.checkpoint.edits.dir     

${fs.checkpoint.dir}

备份名称节点日志文件的存放目前录设置

31

fs.checkpoint.period        

3600

动态检查的间隔时间设置

32

fs.checkpoint.size         

67108864

日志文件大小为64M

33

fs.s3.block.size            

67108864

写S3文件系统的块的大小为64M

34

fs.s3.buffer.dir            

${hadoop.tmp.dir}/s3

S3文件数据的本地存放目录

35

fs.s3.maxRetries            

4

S3文件数据的偿试读写次数

36

fs.s3.sleepTimeSeconds      

10

S3文件偿试的间隔

37

local.cache.size            

10737418240

缓存大小设置为10GB

38

io.seqfile.compress.blocksize

1000000

压缩流式文件中的最小块数为100万

39

io.seqfile.lazydecompress   

true

块是否需要压缩标识设定

40

io.seqfile.sorter.recordlimit

1000000

内存中排序记录块类最小为100万

41

io.mapfile.bloom.size

1048576

BloomMapFiler过滤量为1M

42

io.mapfile.bloom.error.rate

0.005

 

43

hadoop.util.hash.type

murmur

缺少hash方法为murmur

44

ipc.client.idlethreshold

4000

连接数据最小阀值为4000

45

ipc.client.kill.max

10

一个客户端连接数最大值为10

46

ipc.client.connection.maxidletime

10000

断开与服务器连接的时间最大为10秒

47

ipc.client.connect.max.retries

10

建立与服务器连接的重试次数为10次

48

ipc.server.listen.queue.size

128

接收客户连接的监听队例的长度为128

49

ipc.server.tcpnodelay

false

开启或关闭服务器端TCP连接算法

50

ipc.client.tcpnodelay

false

开启或关闭客户端TCP连接算法

51

webinterface.private.actions

false

Web交互的行为设定

52

hadoop.rpc.socket.factory.class.default      

org.apache.hadoop.net.StandardSocketFactory

缺省的socket工厂类设置

53

hadoop.rpc.socket.factory.class.ClientProtocol

 

与dfs连接时的缺省socket工厂类

54

hadoop.socks.server                          

 

服务端的工厂类缺省设置为SocksSocketFactory.

55

topology.node.switch.mapping.impl            

org.apache.hadoop.net.ScriptBasedMapping

 

56

topology.script.file.name                    

  

57

topology.script.number.args                  

100

参数数量最多为100

58

hadoop.security.uid.cache.secs               

14400

 

dfs-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 $ 存放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 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 $ 当kerberos启用时,namenode用于web UI SPNEGO验证的服务主体。
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 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 [1][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 $ 只有当将块放置策略设置为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/_HOST@REALM.TLD。
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。

序号

参数名

参数值

参数说明

1

dfs.namenode.logging.level      

info         

输出日志类型

2

dfs.secondary.http.address      

0.0.0.0:50090

备份名称节点的http协议访问地址与端口                                                                                    

3

dfs.datanode.address            

0.0.0.0:50010

数据节点的TCP管理服务地址和端口

4

dfs.datanode.http.address        

0.0.0.0:50075

数据节点的HTTP协议访问地址和端口

5

dfs.datanode.ipc.address         

0.0.0.0:50020

数据节点的IPC服务访问地址和端口

6

dfs.datanode.handler.count      

3            

数据节点的服务连接处理线程数

7

dfs.http.address                 

0.0.0.0:50070

名称节点的http协议访问地址与端口

8

dfs.https.enable                 

false        

支持https访问方式标识

9

dfs.https.need.client.auth      

false        

客户端指定https访问标识

10

dfs.https.server.keystore.resource

ssl-server.xml

Ssl密钥服务端的配置文件

11

dfs.https.client.keystore.resource

ssl-client.xml

Ssl密钥客户端的配置文件

12

dfs.datanode.https.address      

0.0.0.0:50475

数据节点的HTTPS协议访问地址和端口

13

dfs.https.address               

0.0.0.0:50470

名称节点的HTTPS协议访问地址和端口

14

dfs.datanode.dns.interface      

default      

数据节点采用IP地址标识

15

dfs.datanode.dns.nameserver      

default      

指定DNS的IP地址

16

dfs.replication.considerLoad     

true         

加载目标或不加载的标识

17

dfs.default.chunk.view.size      

32768         

浏览时的文件块大小设置为32K

18

dfs.datanode.du.reserved         

0            

每个卷预留的空闲空间数量

19

dfs.name.dir                     

${hadoop.tmp.dir}/dfs/name

存贮在本地的名字节点数据镜象的目录,作为名字节点的冗余备份

20

dfs.name.edits.dir               

${dfs.name.dir}         

存贮文件操作过程信息的存贮目录

21

dfs.web.ugi                     

webuser,webgroup         

Web接口访问的用户名和组的帐户设定

22

dfs.permissions                  

true                     

文件操作时的权限检查标识。

23

dfs.permissions.supergroup      

supergroup               

超级用户的组名定义

24

dfs.block.access.token.enable   

false                    

数据节点访问令牌标识

25

dfs.block.access.key.update.interval

600                     

升级访问钥时的间隔时间

26

dfs.block.access.token.lifetime   

600                     

访问令牌的有效时间

27

dfs.data.dir                        

${hadoop.tmp.dir}/dfs/data

数据节点的块本地存放目录

28

dfs.datanode.data.dir.perm         

755                     

数据节点的存贮块的目录访问权限设置

29

dfs.replication                    

3                        

缺省的块复制数量

30

dfs.replication.max                 

512                     

块复制的最大数量

31

dfs.replication.min               

1                        

块复制的最小数量

32

dfs.block.size                     

67108864                 

缺省的文件块大小为64M

33

dfs.df.interval                    

60000                     

磁盘空间统计间隔为6秒

34

dfs.client.block.write.retries     

3                        

块写入出错时的重试次数

35

dfs.blockreport.intervalMsec      

3600000                  

块的报告间隔时为1小时

36

dfs.blockreport.initialDelay      

0                        

块顺序报告的间隔时间

37

dfs.heartbeat.interval            

3                        

数据节点的心跳检测间隔时间

38

dfs.namenode.handler.count         

10                       

名称节点的连接处理的线程数量

39

dfs.safemode.threshold.pct         

0.999f                  

启动安全模式的阀值设定

40

dfs.safemode.extension            

30000                    

当阀值达到量值后扩展的时限

41

dfs.balance.bandwidthPerSec        

1048576                  

启动负载均衡的数据节点可利用带宽最大值为1M

42

dfs.hosts                          

 

可与名称节点连接的主机地址文件指定。

43

dfs.hosts.exclude                  

 

不充计与名称节点连接的主机地址文件设定

44

dfs.max.objects                    

0

文件数、目录数、块数的最大数量

45

dfs.namenode.decommission.interval

30

名称节点解除命令执行时的监测时间周期

46

dfs.namenode.decommission.nodes.per.interval

5      

名称节点解除命令执行是否完检测次数

47

dfs.replication.interval                  

3      

名称节点计算数据节点的复制工作的周期数.

48

dfs.access.time.precision                  

3600000

充许访问文件的时间精确到1小时

49

dfs.support.append                        

false   

是否充许链接文件指定

50

dfs.namenode.delegation.key.update-interval

86400000

名称节点上的代理令牌的主key的更新间隔时间为24小时

51

dfs.namenode.delegation.token.max-lifetime

604800000

代理令牌的有效时间最大值为7天

52

dfs.namenode.delegation.token.renew-interval

86400000

代理令牌的更新时间为24小时

53

dfs.datanode.failed.volumes.tolerated      

0      

决定停止数据节点提供服务充许卷的出错次数。0次则任何卷出错都要停止数据节

mapred-site.html

序号

参数名

参数值

参数说明

1

hadoop.job.history.location

 

作业跟踪管理器的静态历史文件的存放目录。

2

hadoop.job.history.user.location

 

可以指定具体某个作业的跟踪管理器的历史文件存放目录

3

mapred.job.tracker.history.completed.location

 

已完成作业的历史文件的存放目录

4

io.sort.factor

10         

排完序的文件的合并时的打开文件句柄数

5

io.sort.mb

100        

排序文件的内存缓存大小为100M

6

io.sort.record.percent

0.05      

排序线程阻塞的内存缓存剩余比率

7

io.sort.spill.percent

0.80      

当缓冲占用量为该值时,线程需要将内容先备份到磁盘中。

8

io.map.index.skip

0         

索引条目的间隔设定

9

mapred.job.tracker

local      

作业跟踪管理器是否和MR任务在一个进程中

10

mapred.job.tracker.http.address

0.0.0.0:50030

作业跟踪管理器的HTTP服务器访问端口和地址

11

mapred.job.tracker.handler.count         

10        

作业跟踪管理器的管理线程数,线程数比例是任务管理跟踪器数量的0.04

12

mapred.task.tracker.report.address        

127.0.0.1:0

任务管理跟踪器的主机地址和端口地址

13

mapred.local.dir                          

${hadoop.tmp.dir}/mapred/local

MR的中介数据文件存放目录

14

mapred.system.dir                        

${hadoop.tmp.dir}/mapred/system

MR的控制文件存放目录

15

mapreduce.jobtracker.staging.root.dir     

${hadoop.tmp.dir}/mapred/staging

每个正在运行作业文件的存放区

16

mapred.temp.dir                           

${hadoop.tmp.dir}/mapred/temp  

MR临时共享文件存放区   

17

mapred.local.dir.minspacestart            

0                              

MR本地中介文件删除时,不充许有任务执行的数量值。

18

mapred.local.dir.minspacekill            

0                              

MR本地中介文件删除时,除非所有任务都已完成的数量值。

19

mapred.tasktracker.expiry.interval        

600000                        

任务管理跟踪器不发送心跳的累计时间间隔超过600秒,则任务管理跟踪器失效

20

mapred.tasktracker.resourcecalculatorplugin

 

指定的一个用户访问资源信息的类实例

21

mapred.tasktracker.taskmemorymanager.monitoring-interval

5000   

监控任务管理跟踪器任务内存使用率的时间间隔

22

mapred.tasktracker.tasks.sleeptime-before-sigkill      

5000   

发出进程终止后,间隔5秒后发出进程消亡信号

23

mapred.map.tasks                                       

2      

每个作业缺省的map任务数为2

24

mapred.reduce.tasks                                    

1      

每个作业缺省的reduce任务数为1

25

mapreduce.tasktracker.outofband.heartbeat              

false  

让在任务结束后发出一个额外的心跳信号

26

mapreduce.tasktracker.outofband.heartbeat.damper      

1000000

当额外心跳信号发出量太多时,则适当阻止

27

mapred.jobtracker.restart.recover                     

false  

充许任务管理器恢复时采用的方式

28

mapred.jobtracker.job.history.block.size               

3145728

作业历史文件块的大小为3M

29

mapreduce.job.split.metainfo.maxsize                  

10000000

分隔元信息文件的最大值是10M以下

30

mapred.jobtracker.taskScheduler                     

org.apache.hadoop.mapred.JobQueueTaskScheduler

设定任务的执行计划实现类

31

mapred.jobtracker.taskScheduler.maxRunningTasksPerJob

 

作业同时运行的任务数的最大值

32

mapred.map.max.attempts                             

4   

Map任务的重试次数

33

mapred.reduce.max.attempts                          

4   

Reduce任务的重试次数

34

mapred.reduce.parallel.copies                        

5   

在复制阶段时reduce并行传送的值。

35

mapreduce.reduce.shuffle.maxfetchfailures           

10   

取map输出的最大重试次数

36

mapreduce.reduce.shuffle.connect.timeout            

180000

REDUCE任务连接任务管理器获得map输出时的总耗时是3分钟         

37

mapreduce.reduce.shuffle.read.timeout               

180000

REDUCE任务等待map输出数据的总耗时是3分钟

38

mapred.task.timeout                                 

600000

如果任务无读无写时的时间耗时为10分钟,将被终止

39

mapred.tasktracker.map.tasks.maximum               

2   

任管管理器可同时运行map任务数为2

40

mapred.tasktracker.reduce.tasks.maximum            

2   

任管管理器可同时运行reduce任务数为2

41

mapred.jobtracker.completeuserjobs.maximum

100   

当用户的完成作业数达100个后,将其放入作业历史文件中

42

mapreduce.reduce.input.limit               

-1     

Reduce输入量的限制。

43

mapred.job.tracker.retiredjobs.cache.size  

1000   

作业状态为已不在执行的保留在内存中的量为1000

44

mapred.job.tracker.jobhistory.lru.cache.size

5      

作业历史文件装载到内存的数量

45

mapred.child.java.opts                     

-Xmx200m

启动task管理的子进程时的内存设置

46

mapred.child.env                           

 

子进程的参数设置

47

mapred.child.ulimit                        

 

虚拟机所需内存的设定。

48

mapred.cluster.map.memory.mb               

-1     

 

49

mapred.cluster.reduce.memory.mb            

-1     

 

50

mapred.cluster.max.map.memory.mb           

-1     

 

51

mapred.cluster.max.reduce.memory.mb        

-1     

 

52

mapred.job.map.memory.mb                  

-1     

 

53

mapred.job.reduce.memory.mb               

-1     

 

54

mapred.child.tmp                           

/tmp   

Mr任务信息的存放目录

55

mapred.inmem.merge.threshold               

1000   

内存中的合并文件数设置

56

mapred.job.shuffle.merge.percent           

0.66   

 

57

mapred.job.shuffle.input.buffer.percent   

0.70   

 

58

mapred.job.reduce.input.buffer.percent     

0.0   

 

59

mapred.map.tasks.speculative.execution     

true   

Map任务的多实例并行运行标识

60

mapred.reduce.tasks.speculative.execution  

true   

Reduce任务的多实例并行运行标识

61

mapred.job.reuse.jvm.num.tasks

1           

每虚拟机运行的任务数

62

mapred.min.split.size

0           

Map的输入数据被分解的块数设置

63

mapred.jobtracker.maxtasks.per.job

-1         

一个单独作业的任务数设置

64

mapred.submit.replication

10         

提交作业文件的复制级别

65

mapred.tasktracker.dns.interface

default     

任务管理跟踪器是否报告IP地址名的开关

66

mapred.tasktracker.dns.nameserver

default     

作业和任务管理跟踪器之间通讯方式采用的DNS服务的主机名或IP地址

67

tasktracker.http.threads

40         

http服务器的工作线程数量

68

mapred.task.tracker.http.address

0.0.0.0:50060

任务管理跟踪器的http服务器的地址和端口

69

keep.failed.task.files

false      

失败任务是否保存到文件中

70

mapred.output.compress

false      

作业的输出是否压缩

71

mapred.output.compression.type

RECORD      

作业输出采用NONE, RECORD or BLOCK三种方式中一种压缩的写入到流式文件

72

mapred.output.compression.codec

org.apache.hadoop.io.compress.DefaultCodec

压缩类的设置

73

mapred.compress.map.output

false                                    

Map的输出是否压缩

74

mapred.map.output.compression.codec

org.apache.hadoop.io.compress.DefaultCodec

Map的输出压缩的实现类指定

75

map.sort.class

org.apache.hadoop.util.QuickSort         

排序键的排序类指定

76

mapred.userlog.limit.kb

0                                       

每个任务的用户日志文件大小

77

mapred.userlog.retain.hours

24                                       

作业完成后的用户日志留存时间为24小时

78

mapred.user.jobconf.limit

5242880                                 

Jobconf的大小为5M

79

mapred.hosts

 

可与作业管理跟踪器连接的主机名

80

mapred.hosts.exclude

 

不可与作业管理跟踪器连接的主机名

81

mapred.heartbeats.in.second                    

100               

作业管理跟踪器的每秒中到达的心跳数量为100

82

mapred.max.tracker.blacklists                  

4                  

任务管理跟踪器的黑名单列表的数量

83

mapred.jobtracker.blacklist.fault-timeout-window

180               

任务管理跟踪器超时180分钟则訪任务将被重启

84

mapred.jobtracker.blacklist.fault-bucket-width

15                 

 

85

mapred.max.tracker.failures                    

4                  

任务管理跟踪器的失败任务数设定

86

jobclient.output.filter                        

FAILED            

控制任务的用户日志输出到作业端时的过滤方式

87

mapred.job.tracker.persist.jobstatus.active   

false              

是否持久化作业管理跟踪器的信息

88

mapred.job.tracker.persist.jobstatus.hours     

0                  

持久化作业管理跟踪器的信息的保存时间

89

mapred.job.tracker.persist.jobstatus.dir      

/jobtracker/jobsInfo

作业管理跟踪器的信息存放目录

90

mapreduce.job.complete.cancel.delegation.tokens

true               

恢复时是否变更领牌   

91

mapred.task.profile                           

false              

任务分析信息是否建设标志

92

mapred.task.profile.maps                       

0-2               

设置map任务的分析范围

93

mapred.task.profile.reduces                    

0-2               

设置reduce任务的分析范围

94

mapred.line.input.format.linespermap           

1                  

每次切分的行数设置

95

mapred.skip.attempts.to.start.skipping         

2                  

在跳转模式未被设定的情况下任务的重试次数                                                                                    

96

mapred.skip.map.auto.incr.proc.count           

true               

MapRunner在调用map功能后的增量处理方式设置

97

mapred.skip.reduce.auto.incr.proc.count        

true               

在调用reduce功能后的增量处理方式设置

98

mapred.skip.out.dir                             

 

跳过记录的输出目录

99

mapred.skip.map.max.skip.records               

0                  

 

100

mapred.skip.reduce.max.skip.groups            

0                  

 

101

job.end.retry.attempts                        

0                  

Hadoop偿试连接通知器的次数  

102

job.end.retry.interval                        

30000              

通知偿试回应的间隔操作为30秒

103

hadoop.rpc.socket.factory.class.JobSubmissionProtocol

 

指定与作业跟踪管理器的通讯方式,缺省是采用rpc方式

104

mapred.task.cache.levels                           

2     

任务缓存级别设置

105

mapred.queue.names                                 

default

分隔作业队例的分隔符设定

106

mapred.acls.enabled                                 

false

指定ACL访问控制列表

107

mapred.queue.default.state                           

RUNNING

定义队列的状态

108

mapred.job.queue.name                              

default

已提交作业的队列设定

109

mapreduce.job.acl-modify-job                        

 

指定可修改作业的ACL列表

110

mapreduce.job.acl-view-job                          

 

指定可浏临作业的ACL列表

111

mapred.tasktracker.indexcache.mb                    

10   

任务管理跟踪器的索引内存的最大容器

112

mapred.combine.recordsBeforeProgress               

10000

在聚合处理时的记录块数

113

mapred.merge.recordsBeforeProgress                  

10000

在汇总处理时的记录块数

114

mapred.reduce.slowstart.completed.maps              

0.05  

 

115

mapred.task.tracker.task-controller                 

org.apache.hadoop.mapred.DefaultTaskController

任务管理器的设定

116

mapreduce.tasktracker.group                          

 

任务管理器的组成员设定

117

mapred.healthChecker.script.path                    

 

脚本的绝对路径指定,这些脚本是心跳服务的

118

mapred.healthChecker.interval                       

60000                                       

节点心跳信息的间隔

119

mapred.healthChecker.script.timeout                 

600000                                       

 

120

mapred.healthChecker.script.args                    

 

参数列表

121

mapreduce.job.counters.limit                        

120                                          

作业计数器的最小值

yarn-site.xml

hadoop 的yarn-site.xml文件中涉及到的其他配置项按照组件可以分成两类,其中之一是对 ResourceManager 的配置,主要配置项有:

  • yarn.resourcemanager.address:该配置项用于提示 ResourceManager 暴露给 Client 的地址。Client 可以利用这个地址向 ResourceManager 提交应用程序,也可以用来杀死某个应用程序等。其默认端口是 8032 ,而 URL 是 ResourceManager 的 hostname ,在本课程中是 localhost (对于后面的相关设置项也是一样)。
  • yarn.resourcemanager.scheduler.address:该配置项用于提示 ResourceManager 暴露给 ApplicationMaster 的访问地址。后者可以通过该地址从 ResourceManager 处申请和释放资源,默认端口是 8030 。
  • yarn.resourcemanager.resource-tracker.address:该配置项用于提示 ResourceManager 暴露给 NodeManager 的地址。后者可以通过该地址向 ResourceManager 发送心跳,也可以拉取到待执行的任务,默认端口是8031。
  • yarn.resourcemanager.admin.address: ResourceManager 暴露给管理员的访问地址,后者可以通过该地址向 ResourceManager 发送用于管理目的的各项命令,其默认端口是 8033 。
  • yarn.resourcemanager.webapp.address:ResourceManager 对外暴露的 WebUI 地址,我们稍后就会在浏览器中通过访问该地址来查看集群的各类信息,其默认端口是 8088 。
  • yarn.resourcemanager.scheduler.class:待启用的 ResourceManager 调度器的主类名称。该选项用于配置调度器的类型,可以在 FIFO、CapacityScheduler 以及 FairScheduler 等调度器名称中进行选择。
  • yarn.resourcemanager.resource-tracker.client.thread-count:该选项用于配置 Handler 的线程数量。Handler 可以处理来自 NodeManager 的 RPC 请求,默认情况下有 50 个 Handler 线程。
  • yarn.resourcemanager.scheduler.client.thread-count:与上一选项类似,但这个 Handler 用于处理来自 ApplicationMaster 的 RPC 请求。
  • yarn.scheduler.minimum-allocation-mb:用于配置单个调度器可申请的最小的内存资源数量,即运行 MapReduce 作业的时候,每个 Task 最少可以申请到的内存容量,默认是 1024MB 。同样的参数还有 yarn.scheduler.maximum-allocation-mb,指的是最大的内存资源数量,默认情况下最多可申请 3072MB 。
  • yarn.scheduler.minimum-allocation-vcores:单个调度器可以申请到的最小虚拟 CPU 核数(vCPU)。例如默认值 1 表示 MapRedce 作业中的每个 Task 最少可以申请到 1 个虚拟 CPU 。同样的参数还有 yarn.scheduler.maximum-allocation-vcores,默认情况下最多可以申请 32 个虚拟 CPU 。
  • yarn.resourcemanager.nodes.exclude-path:该选项用于指示 NodeManager 的黑名单。具体而言,若发现某些 NodeManager 存在故障率或者任务执行失败率非常高的问题,就可以通过该参数将其之加到黑名单中。类似的参数还有 yarn.resourcemanager.nodes.include-path,作用是相反的,即白名单。
  • yarn.resourcemanager.nodemanagers.heartbeat-interval-ms:该参数用于配置 NodeManager 的心跳间隔时间,默认值是 1000 毫秒。

另一类是对 NodeManager 的配置,除了刚刚提到的 aux-services ,其他的主要配置项有:

  • yarn.nodemanager.resource.memory-mb:NodeManager 的可用物理内存总量,需要注意这个参数一旦被设置,在 YARN 的整个运行过程中不允许被动态修改。其默认值是 8192MB ,即便实际可用物理内存不足这个数量,YARN 也会使用该值进行工作。
  • yarn.nodemanager.vmem-pmem-ratio:该配置项用于设置一个比例,即每使用 1MB 的物理内存最多可以用多大的虚拟内存,默认情况下该比例为 2.1 。
  • yarn.nodemanager.resource.cpu-vcores:NodeManager 的可用虚拟 CPU 总数,默认值是 8 个。
  • yarn.nodemanager.local-dirs:NodeManager 的中间结果存放目录路径,允许配置多个目录。 默认值:${hadoop.tmp.dir}/nm-local-dir
  • yarn.nodemanager.log-dirs:NodeManager 的日志存放目录路径,该配置项允许配置多个目录。
  • yarn.nodemanager.log.retain-seconds:NodeManager 的日志的最长存放时间,默认情况下是 10800 秒,即 3 个小时。

  1. A-Za-z_ ↩︎

posted @ 2023-03-15 18:06  你樊不樊  阅读(11)  评论(0)    收藏  举报