HDFS服务配置

服务配置

配置组:global

参数名 默认值 备注
cluster_name easyops-cluster 集群名,对应hdfs-site中的dfs.nameservice.id,同时hdfs-site中的以下配置项名称(详见注释)会根据该配置动态生成
znode /hadoop-ha zookeeper上注册的根目录名
rack 只适用于datanode组件,配置datanode所属的rack

注释:

dfs.client.failover.proxy.provider.{{cluster_name}}
dfs.ha.namenodes.{{cluster_name}}
dfs.namenode.http-address.{{cluster_name}}.nn1
dfs.namenode.https-address.{{cluster_name}}.nn1
dfs.namenode.rpc-address.{{cluster_name}}.nn1
dfs.namenode.servicerpc-address.{{cluster_name}}.nn1
dfs.namenode.lifeline.rpc-address.{{cluster_name}}.nn1
dfs.namenode.http-address.{{cluster_name}}.nn2
dfs.namenode.https-address.{{cluster_name}}.nn2
dfs.namenode.rpc-address.{{cluster_name}}.nn2
dfs.namenode.servicerpc-address.{{cluster_name}}.nn2
dfs.namenode.lifeline.rpc-address.{{cluster_name}}.nn2

配置组:env

参数名 默认值 备注
JAVA_HOME /usr/lib64/jdk8 使用的jdk目录路径,默认使用easyops提供的jdk
HADOOP_ROOT_LOGGER INFO,RFA 默认日志级别
HADOOP_HEAPSIZE 1000 hadoop client启动的堆内存大小,单位M
HADOOP_HEAPSIZE_OPTS -Xms1024m -Xmx1024m hadoop服务启动的默认堆内存配置
HADOOP_GC_OPTS -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 -XX:GCLogFileSize=512M -XX:SurvivorRatio=4 -Xss256k -XX:+UseParNewGC -XX:MaxTenuringThreshold=15 -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+CMSClassUnloadingEnabled -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=75 -XX:-DisableExplicitGC -Xloggc:${HADOOP_GC_FILE} GC 配置
HADOOP_NAMENODE_OPTS -server ${HADOOP_HEAPSIZE_OPTS} ${HADOOP_GC_OPTS} ${HADOOP_LOGGER_OPTS} -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 -Djava.net.preferIPv4Stack=true -XX:ErrorFile=${HADOOP_ERROR_FILE} namenode 服务启动参数
HADOOP_JOURNALNODE_OPTS -server ${HADOOP_HEAPSIZE_OPTS} ${HADOOP_GC_OPTS} ${HADOOP_LOGGER_OPTS} -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 -Djava.net.preferIPv4Stack=true -XX:ErrorFile=${HADOOP_ERROR_FILE} journalnode服务启动参数
HADOOP_DATANODE_OPTS -server ${HADOOP_HEAPSIZE_OPTS} ${HADOOP_GC_OPTS} ${HADOOP_LOGGER_OPTS} -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 -Djava.net.preferIPv4Stack=true -XX:ErrorFile=${HADOOP_ERROR_FILE} datanode 服务启动参数
HADOOP_ZKFC_OPTS -server ${HADOOP_HEAPSIZE_OPTS} ${HADOOP_GC_OPTS} ${HADOOP_LOGGER_OPTS} -Dorg.mortbay.jetty.Request.maxFormContentSize=-1 -Djava.net.preferIPv4Stack=true -XX:ErrorFile=${HADOOP_ERROR_FILE} zkfc服务启动参数
HADOOP_LOGGER_OPTS -Dhadoop.metrics.logger=INFO,RFAMETRIC -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT 日志配置

配置组:core-site

参数名 默认值 备注
ha.health-monitor.rpc-timeout.ms 180000 实际的monitorHealth()调用超时。
hadoop.http.authentication.simple.anonymous.allowed true 指示使用“简单”身份验证时是否允许匿名请求。
hadoop.http.authentication.type simple 定义用于Oozie HTTP端点的身份验证。支持的值为:simple / kerberos。
hadoop.security.authentication kerberos hadoop服务安全认证方式,可能的值为:simple / kerberos。
hadoop.security.authorization true 是否启用了服务级别授权
fs.du.interval 86400000 文件空间使用情况统计信息刷新间隔(以毫秒为单位)。
fs.trash.checkpoint.interval 30 垃圾检查点之间的分钟数。应该小于或等于fs.trash.interval。如果为零,则将该值设置为fs.trash.interval的值。每次运行检查点时, 它都会从当前版本中创建一个新的检查点,并删除超过fs.trash.interval分钟之前创建的检查点。
fs.trash.interval 1440 分钟数,在此分钟之后,检查点将被删除。如果为零,则禁用垃圾桶功能。可以在服务器和客户端上都配置此选项。如果在服务器端禁用了垃圾桶,则将检查客户端配置。 如果在服务器端启用了垃圾回收,那么将使用服务器上配置的值,而忽略客户端配置值。
ha.failover-controller.active-standby-elector.zk.op.retries 120 主从选举重试次数
ha.failover-controller.new-active.rpc-timeout.ms 360000 FC等待新的活动服务器变为活动状态的超时
ha.zookeeper.session-timeout.ms 40000 ZKFC连接到ZooKeeper时要使用的会话超时。将此值设置为较低值意味着将更快地检测到服务器崩溃,但是在出现瞬时错误或网络故障时, 过分触发故障转移的风险会很大。
hadoop.http.authentication.token.validity 36000 指示必须更新认证令牌的有效时间(以秒为单位)。
hadoop.http.filter.initializers org.apache.hadoop.security.AuthenticationFilterInitializer 用逗号分隔的类名列表。列表中的每个类都必须扩展 org.apache.hadoop.http.FilterInitializer。相应的过滤器将被初始化。然后,该筛选器将应用于所有面向用户的jsp和servlet网页。列表的顺序定义了过滤器的顺序。
hadoop.proxyuser.HTTP.groups * HTTP代理组
hadoop.proxyuser.root.groups * root用户代理组
hadoop.proxyuser.root.hosts * root用户代理主机
hadoop.proxyuser.hdfs.groups * hdfs用户代理组
hadoop.proxyuser.hdfs.hosts * hdfs用户代理主机
hadoop.proxyuser.hive.groups * hive用户代理组
hadoop.proxyuser.hive.hosts * hive用户代理主机
hadoop.proxyuser.azkaban.groups * azkaban用户代理组
hadoop.proxyuser.azkaban.hosts * azkaban用户代理主机
hadoop.proxyuser.yarn.groups * yarn用户代理组
hadoop.proxyuser.yarn.hosts * yarn用户代理主机
hadoop.proxyuser.impala.groups * impala用户代理组
hadoop.proxyuser.impala.hosts * impala用户代理主机
io.compression.codec.lzo.class com.hadoop.compression.lzo.LzoCodec lzo压缩编解码器使用的类
io.compression.codecs org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.DefaultCodec, com.hadoop.compression.lzo.LzoCodec, com.hadoop.compression.lzo.LzopCodec, org.apache.hadoop.io.compress.SnappyCodec 逗号分隔的压缩编解码器类列表,可用于压缩/解压缩。除了使用此属性指定的任何类(优先级)之外,还使用Java ServiceLoader在类路径上找到编解码器类。
io.file.buffer.size 131072 序列文件中使用的缓冲区大小。该缓冲区的大小可能应该是硬件页面大小的倍数(在Intel x86上为4096),并且它确定在读取和写入操作期间要缓冲多少数据。
io.serializations org.apache.hadoop.io.serializer.WritableSerialization 可用于获取序列化器和反序列化器的序列化类的列表。
ipc.client.connect.max.retries 50 指示客户端建立服务器连接的重试次数。
ipc.client.connection.maxidletime 30000 客户端与服务器的连接的最长空闲时间(以毫秒为单位)。
ipc.client.idlethreshold 8000 定义连接的阈值数,之后将检查连接是否空闲。
ipc.server.tcpnodelay true 为服务器上的TCP套接字连接打开/关闭Nagle的算法。设置为true会禁用该算法,并可能减少延迟时间,但会增加/减少数据包的开销。
ha.failover-controller.graceful-fence.rpc-timeout.ms 30000 FC等待旧的活动主机进入待机状态的超时。
ipc.client.fallback-to-simple-auth-allowed true 当客户端配置为尝试安全连接,但尝试连接到不安全的服务器时,该服务器可能会指示客户端切换到SASL SIMPLE(不安全)身份验证。 此设置控制客户端是否将接受来自服务器的此指令。如果为false(默认值),则客户端将不允许回退到SIMPLE身份验证,并将中止连接。
lzo_jar_path hadoop/share/lib/hadoop-lzo-0.4.20-SNAPSHOT.jar lzo包路径

配置组:hdfs-site

参数名 默认值 备注
dfs.datanode.du.reserved 375809638400 每个卷的保留空间(以字节为单位)。始终为非dfs使用留出足够的空间。还支持基于特定存储类型的预留。对于具有异构存储的群集, 该属性后面可以带有相应的存储类型([ssd] / [disk] / [archive] / [ram_disk])。例如,可以使用属性“ dfs.datanode.du.reserved.ram_disk”配置RAM_DISK存储的保留空间。如果未配置特定的存储类型预留, 则将使用dfs.datanode.du.reserved。
dfs.domain.socket.path /var/hdfs/datanode/dn_socket UNIX域套接字的路径,该套接字将用于DataNode与本地HDFS客户端之间的通信。如果此路径中存在字符串“ _PORT”, 它将被DataNode的TCP端口替换。
dfs.http.policy HTTP_ONLY 决定HDFS是否支持HTTPS(SSL)这将为HDFS守护程序配置HTTP端点:支持以下值:-HTTP_ONLY:仅在http上提供服务-HTTPS_ONLY: 仅在https上提供服务-HTTP_AND_HTTPS:同时提供服务在http和https上。
dfs.namenode.http-bind-host 0.0.0.0 HTTP服务器将绑定的实际地址。如果设置了此可选地址,则它将仅覆盖dfs.namenode.http-address的主机名部分。 也可以为HA / Federation的每个名称节点或名称服务指定它。通过将其设置为0.0.0.0,可以使名称节点HTTP服务器在所有接口上进行侦听。
dfs.namenode.https-bind-host 0.0.0.0 HTTPS服务器将绑定到的实际地址。如果设置了此可选地址,它将仅覆盖dfs.namenode.https-address的主机名部分。 也可以为HA / Federation的每个名称节点或名称服务指定它。通过将其设置为0.0.0.0,可以使名称节点HTTPS服务器在所有接口上进行侦听。
dfs.namenode.lifeline.rpc-bind-host 0.0.0.0 Lifeline RPC服务器将绑定到的实际地址。如果设置了此可选地址,它将仅覆盖dfs.namenode.lifeline.rpc-address的主机名部分。 也可以为HA / Federation的每个名称节点或名称服务指定它。通过将其设置为0.0.0.0,可以使名称节点在所有接口上侦听,这很有用。
dfs.balance.bandPerSec 20485760 balance使用的带宽大小
dfs.block.access.token.enable true 如果为“ true”,则将访问令牌用作访问数据节点的功能。如果为“ false”,则在访问数据节点时不检查访问令牌。
dfs.block.replicator.classname org.apache.hadoop.hdfs.server.blockmanagement. AvailableSpaceBlockPlacementPolicy 表示非条纹文件的块放置策略的类。 当前支持四种块放置策略:BlockPlacementPolicyDefault,BlockPlacementPolicyWithNodeGroup,BlockPlacementPolicyRackFaultTolerant和BlockPlacementPolicyWithUpgradeDomain。 BlockPlacementPolicyDefault选择所需的目标数量,以默认方式放置块副本。BlockPlacementPolicyWithNodeGroup将块副本放置在具有节点组层的环境中。 BlockPlacementPolicyRackFaultTolerant将副本放置到更多机架中。BlockPlacementPolicyWithUpgradeDomain放置遵循升级域策略的块副本。放置副本的详细信息记录在相应策略类的javadoc中。 默认策略是BlockPlacementPolicyDefault。
dfs.blockreport.initialDelay 120 第一个块报告的延迟(以秒为单位)。
dfs.blocksize 268435456 新文件的默认块大小,以字节为单位。您可以使用以下后缀(不区分大小写):k(kilo),m(mega),g(giga),t(tera),p(peta),e(exa)指定大小 (例如128k,512m ,1g等),或提供完整大小(以字节为单位)(例如134217728表示128 MB)。
dfs.client.block.write.locateFollowingBlock.retries 10 HDFS写入期间查找下一个块时要使用的重试次数。
dfs.client.read.shortcircuit true 此配置参数打开短路本地读取。
dfs.client.read.shortcircuit.streams.cache.size 1000 DFSClient维护最近打开的文件描述符的缓存。此参数控制高速缓存中文件描述符的最大数量。将该值设置得更高将使用更多的文件描述符, 但可能在涉及大量查找的工作负载上提供更好的性能。
dfs.client.read.shortcircuit.streams.cache.size .expiry.ms 1000 控制了文件描述符在因长时间不活动而被关闭之前必须位于客户端缓存上下文中的最短时间。
dfs.client.retry.policy.enabled false 如果为true,则打开DFSClient重试策略。
dfs.client.socket-timeout 3000000
dfs.cluster.administrators hdfs 管理员的ACL,此配置用于控制谁可以访问namenode中的默认servlet等。该值应为逗号分隔的用户和组列表。用户列表排在最前面,并由空格分隔,后跟组列表, 例如“ user1,user2 group1,group2”。用户和组都是可选的,因此“ user1”,“ group1”,“”,“ user1 group1”,“ user1,user2 group1,group2”都是有效的(请注意“ group1”中的前导空格)。 “ *”授予所有用户和组访问权限,例如“ *”,“ *”和“ *”均有效。
dfs.content-summary.limit 5000 一个锁定周期内允许的最大内容摘要计数。0或负数表示无限制(即无屈服)。
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的范围内, 但实际上在0.5-1.0的范围内,因为应该没有理由偏爱可用磁盘空间较少的卷获得更多的块分配。
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时使用。此设置控制允许多少DN卷在被认为不平衡之前在可用磁盘空间字节方面有所不同。 如果所有卷的可用空间都在此范围之内, 则将认为这些卷是平衡的,并且块分配将在纯循环的基础上完成。
dfs.datanode.balance.bandPerSec 20485760 以每秒字节数为单位,指定每个数据节点可用于平衡目的的最大带宽量。您可以使用以下后缀(不区分大小写): k(kilo),m(mega),g(giga),t(tera),p(peta),e(exa)指定大小(例如128k,512m ,1g等)。 或提供完整大小(以字节为单位)(例如134217728表示128 MB)。
dfs.datanode.data.dir.perm 750 DFS数据节点存储其块的本地文件系统上的目录权限。权限可以是八进制或符号。
dfs.datanode.directoryscan.interval 86400 Datanode扫描数据目录并协调内存和磁盘上的块之间的差异的时间间隔(以秒为单位)。
dfs.datanode.directoryscan.threads 4 线程池用于并行编译卷的报告应具有多少个线程。
dfs.datanode.failed.volumes.tolerated 0 数据节点停止提供服务之前允许失败的卷数。默认情况下,任何卷故障都将导致数据节点关闭。
dfs.datanode.fsdataset.volume.choosing.policy org.apache.hadoop.hdfs.server.datanode. fsdataset.AvailableSpaceVolumeChoosingPolicy 在目录列表中选择卷的策略的类名称。 默认为org.apache.hadoop.hdfs.server.datanode.fsdataset.RoundRobinVolumeChoosingPolicy。如果要考虑可用磁盘空间,请将值设置为 “ org.apache.hadoop.hdfs.server.datanode.fsdataset.AvailableSpaceVolumeChoosingPolicy”。
dfs.datanode.handler.count 48 数据节点的服务器线程数。
dfs.datanode.hdfs-blocks-metadata.enabled true 布尔值,它为实验性DistributedFileSystem#getFileVBlockStorageLocations API启用后端数据节点侧支持。
dfs.datanode.max.locked.memory 0 用于在数据节点上的内存中缓存块副本的内存量(以字节为单位)。数据节点的最大锁定内存软ulimit(RLIMIT_MEMLOCK)必须至少设置为该值, 否则数据节点将在启动时中止。默认情况下,此参数设置为0,这将禁用内存中缓存。如果本机库不可用于DataNode,则此配置无效。
dfs.datanode.max.transfer.threads 4096 指定用于将数据传入和传出DN的最大线程数。
dfs.datanode.max.xciever 4096 指定用于将数据传入和传出DN的最大线程数。
dfs.datanode.socket.write.timeout 3000000 客户端套接字写入DataNode的超时时间(以毫秒为单位)。
dfs.ha.automatic-failover.enabled true 是否启用自动故障转移。有关自动HA配置的详细信息,请参见HDFS高可用性文档。
dfs.ha.fencing.methods shell(/bin/true) 故障转移期间将用于隔离Active NameNode的脚本或Java类的列表。有关自动HA配置的详细信息,请参见HDFS高可用性文档。
dfs.heartbeat.interval 3 确定数据节点心跳间隔(以秒为单位)。
dfs.https.enable false 是否开启https
dfs.image.compress true 是否应压缩dfs映像
dfs.image.compression.codec com.hadoop.compression.lzo.LzoCodec 压缩dfs映像使用的编解码器,这必须是io.compression.codecs中定义的编解码器。
dfs.image.transfer.timeout 1200000 image传输中使用的HttpURLConnection实例的套接字超时。以毫秒为单位。此超时可防止客户端在图像传输过程中由于此配置的超时而在连接空闲时挂起。
dfs.namenode.accesstime.precision 0 HDFS文件的访问时间精确到此值。默认值为1小时。设置为0值将禁用HDFS的访问时间。
dfs.namenode.acls.enabled true 设置为true以启用对HDFS ACL(访问控制列表)的支持。默认情况下,禁用ACL。禁用ACL时,NameNode拒绝与设置或获取ACL相关的所有RPC。
dfs.namenode.audit.log.debug.cmdlist getfileinfo 仅当审核日志级别为debug时,才会以逗号分隔的NameNode命令列表写入HDFS namenode审核日志。
dfs.namenode.avoid.read.stale.datanode true 指示是否避免从名称节点未在超过指定的时间间隔内接收其心跳消息的“陈旧”数据节点中进行读取。过时的数据节点将移动到返回的节点列表的末尾 以进行读取。有关写入的类似设置,请参见dfs.namenode.avoid.write.stale.datanode。
dfs.namenode.checkpoint.period 7200 两个定期检查点之间的秒数。
dfs.namenode.checkpoint.txns 1000000 备NameNode或CheckpointNode将为每个’dfs.namenode.checkpoint.txns’事务创建名称空间的检查点,而不管’dfs.namenode.checkpoint.period’是否过期。
dfs.namenode.fslock.fair false 如果为真,则将在“公平”模式下使用FS名称系统锁,这将有助于防止写入器线程出现饥饿,但可以提供较低的锁吞吐量。有关公平/非公平锁的更多信息, 请参见java.util.concurrent.locks.ReentrantReadWriteLock。
dfs.namenode.handler.count 128 侦听来自客户端的请求的Namenode RPC服务器线程的数量。如果未配置dfs.namenode.servicerpc-address,则Namenode RPC服务器线程将侦听来自所有节点的请求。
dfs.namenode.hosts.provider.classname org.apache.hadoop.hdfs.server .blockmanagement.CombinedHostFileManager 提供对主机文件的访问权限的类。默认情况下, 使用org.apache.hadoop.hdfs.server.blockmanagement.HostFileManager加载由dfs.hosts和dfs.hosts.exclude指定的文件。 如果使用org.apache.hadoop.hdfs.server.blockmanagement.CombinedHostFileManager, 它将加载dfs.hosts中定义的JSON文件。要更改类名,需要重新启动nn。“ dfsadmin -refreshNodes”仅刷新该类使用的配置文件。
dfs.namenode.lifeline.handler.count 10 设置NameNode运行的绝对数量的RPC服务器线程,以处理来自ZKFC的DataNode生命线协议和HA运行状况检查请求。如果定义了此属性, 则它将覆盖dfs.namenode.lifeline.handler.ratio的行为。默认情况下,未定义。如果未定义dfs.namenode.lifeline.rpc-address,则此属性无效。
dfs.namenode.maintenance.replication.min 1 在维护模式下最少的活动块复制。
dfs.namenode.name.dir.restore true 设置为true可使NameNode尝试恢复以前失败的dfs.namenode.name.dir。启用后,将在检查点期间尝试恢复任何失败的目录。
dfs.namenode.replication.max-streams 4 最高优先级复制流数的硬限制。
dfs.namenode.replication.max-streams-hard-limit 10 所有复制流的硬限制。
dfs.namenode.replication.work.multiplier.per.iteration 4 注意:高级属性。谨慎更改。这确定了在NN通过DN心跳发送这样的命令列表时,要在DN处并行开始进行复制的块传输总数。 实际数量是通过将该乘数乘以群集中活动节点的总数而获得的。结果数是每个DN心跳立即开始传输的块数。此数字可以是任何非零的正整数。
dfs.namenode.safemode.threshold-pct 0.999 指定应满足dfs.namenode.replication.min定义的最小复制要求的块百分比。小于或等于0的值表示退出安全模式之前,不等待任何特定百分比的块。 大于1的值将使安全模式永久生效
dfs.namenode.service.handler.count 20 侦听来自DataNode和所有其他非客户端节点的请求的Namenode RPC服务器线程的数量。仅当配置了dfs.namenode.servicerpc-address时, dfs.namenode.service.handler.count才有效。
dfs.namenode.stale.datanode.interval 60000 用于将数据节点标记为“陈旧”的默认时间间隔(以毫秒为单位),即,如果namenode在超过此时间间隔的时间内未从数据节点接收到心跳消息, 则该数据节点将默认被标记为“陈旧”。失效间隔不能太小,因为否则可能导致失效状态的更改过于频繁。因此,我们设置了最小失效间隔值(默认值为心跳间隔的3倍),并确保失效间隔不能小于最小值。 在租用/块恢复期间避免了陈旧的数据节点。可以有条件地避免读取(请参阅dfs.namenode.avoid.read.stale.datanode)和写入(请参阅dfs.namenode.avoid.write.stale.datanode)
dfs.namenode.startup.delay.block.deletion.sec 3600 Namenode启动后暂停块删除的延迟(以秒为单位)。默认情况下,它是禁用的。如果目录中包含大量目录和文件,则建议延迟一小时, 以使管理员有足够的时间注意到大量待处理的删除块并采取纠正措施。
dfs.namenode.write.stale.datanode.ratio 1.0f 当标记的陈旧数据节点数与总数据节点数之比大于该比率时,请停止避免写入陈旧节点,以防止引起热点。
dfs.namenode.xattrs.enabled false 是否在NameNode上启用了对扩展属性的支持。
dfs.permissions.enabled true 如果为“ true”,请在HDFS中启用权限检查。如果为“ false”,则关闭权限检查,但其他所有行为均保持不变。从一个参数值切换到另一个参数值不会更改模式, 所有者或文件或目录组。
dfs.permissions.superusergroup hdfs 超级用户组的名称。该值应为单个组名。
dfs.qjournal.start-segment.timeout.ms 60000 启动日志段的法定超时(以毫秒为单位)。
dfs.qjournal.write-txns.timeout.ms 60000 写入一定数量的远程日志时,以毫秒为单位写超时。
dfs.replication 3 默认块复制。创建文件时可以指定实际的复制数量。如果在创建时未指定复制,则使用默认值。
dfs.replication.max 50 最大块复制。
dfs.support.append true 在NameNode上启用附加支持。
dfs.webhdfs.enabled true 在名称节点和数据节点中启用WebHDFS(REST API)。
fs.permissions.umask-mode 27 权限掩码,umask的默认值为022。如果使用默认值,则文件创建的权限为644(0666&^ 022 = 644),文件夹创建的权限为755(0777&^ 022 = 755)
ipc.client.ping false 如果读取响应超时,则将ping发送到服务器(如果设置为true)。如果未检测到故障,则客户端重试,直到读取至少一个字节为止。
ipc.ping.interval 300000 服务器等待响应的超时时间(以毫秒为单位)。如果将ipc.client.ping设置为true,则在经过间隔而没有接收字节的情况下,客户端将发送ping。
ipc.server.listen.queue.size 1024 指示接受客户端连接的服务器的侦听队列的长度。

配置组:log4j

参数名 默认值 备注
hadoop.root.logger INFO,console hadoop指令已经client运行日志的级别
hadoop.log.file hadoop.log hadoop指令已经client运行日志的保存日志名
log4j_properties_template 略(内容过长,详见页面) 生成log4j.properties使用的模板

配置组:ranger_plugin

参数名 默认值 备注
enable_ranger_plugin true 是否支持ranger插件
enable_ranger_audit false 是否开启ranger 审计
ranger_audit_type MYSQL ranger 审计保存类型,仅当enable_ranger_audit=true时有效
ranger_repo_name easyops-hdfs ranger生成对应hdfs service名称

服务指标

服务目前监控的组件只包括namenode和datanode。

指标名称 含义
namenode_rpc_rpc_RpcProcessingTimeAvgTime 8020端口请求处理平均时间, 单位 ms
namenode_rpc_rpc_RpcProcessingTimeNumOps 8020端口rpc请求次数
namenode_rpc_rpc_ReceivedBytes 8020端口接收到的数据量, 单位 byte
namenode_rpc_rpc_SentBytes 8020端口发送的数据 ,单位 byte
namenode_rpc_rpc_RpcQueueTimeAvgTime 8020端口平均队列处理时间
namenode_rpc_rpc_RpcQueueTimeNumOps 8020端口rpc请求次数, 单位 ms
namenode_rpc_rpc_CallQueueLength 8020端口CallQueueLength
namenode_rpcdetailed_rpcdetailed_GetContentSummaryAvgTime GetContentSummary方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_MkdirsAvgTime Mkdirs方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_DeleteAvgTime Delete方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_CreateAvgTime Create方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_CompleteAvgTime Complete方法平均回调时长, 单位 ms
namenode_dfs_namenode_GetBlockLocationsAvgTime GetBlockLocations操作总数, 单位 ms
namenode_rpcdetailed_rpcdetailed_GetFileInfoAvgTime GetFileInfo方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_GetListingAvgTime GetListing方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_AddBlockAvgTime AddBlock方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_BlockReportAvgTime BlockReport方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_MonitorHealthAvgTime MonitorHealth方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_BlockReceivedAndDeletedAvgTime BlockReceivedAndDeleted方法平均回调时长 , 单位 ms
namenode_rpcdetailed_rpcdetailed_AddBlockNumOps AddBlock方法调用次数
namenode_rpcdetailed_rpcdetailed_MkdirsNumOps Mkdirs方法调用次数
namenode_rpcdetailed_rpcdetailed_DeleteNumOps DeleteNum方法调用次数
namenode_rpcdetailed_rpcdetailed_CreateNumOps Create方法调用次数
namenode_rpcdetailed_rpcdetailed_CompleteNumOps Complete方法调用次数
namenode_dfs_namenode_GetBlockLocationsNumOps GetBlockLocations操作总数
namenode_rpcdetailed_rpcdetailed_GetFileInfoNumOps GetFileInfo方法调用次数
namenode_rpcdetailed_rpcdetailed_GetListingNumOps GetListing方法调用次数
namenode_rpcdetailed_rpcdetailed_GetContentSummaryNumOps GetContentSummary方法调用次数
namenode_rpcdetailed_rpcdetailed_BlockReceivedAndDeletedNumOps BlockReceivedAndDeleted方法调用次数
namenode_rpcdetailed_rpcdetailed_BlockReportNumOps BlockReport方法调用次数
namenode_rpcdetailed_rpcdetailed_MonitorHealthNumOps MonitorHealth方法调用次数
namenode_jvm_JvmMetrics_ThreadsBlocked blocked状态的线程数
namenode_jvm_JvmMetrics_ThreadsNew new状态的线程数
namenode_jvm_JvmMetrics_ThreadsRunnable runnable状态的线程数
namenode_jvm_JvmMetrics_ThreadsTerminated terminated状态的线程数
namenode_jvm_JvmMetrics_ThreadsTimedWaiting timedWaiting状态的线程数
namenode_jvm_JvmMetrics_ThreadsWaiting waiting状态的线程数
namenode_jvm_JvmMetrics_LogError error类型的日志数
namenode_jvm_JvmMetrics_LogFatal fatal类型的日志数
namenode_jvm_JvmMetrics_LogInfo info类型的日志数
namenode_jvm_JvmMetrics_LogWarn warn类型的日志数
namenode_jvm_JvmMetrics_MemHeapUsedM 堆已使用的内存大小 , 单位 MB
namenode_jvm_JvmMetrics_MemHeapCommittedM 堆committed的内存大小 , 单位 MB
namenode_jvm_JvmMetrics_MemHeapMaxM 最大堆内存大小 , 单位 MB
namenode_jvm_JvmMetrics_MemNonHeapUsedM 非堆已使用的内存大小 , 单位 MB
namenode_jvm_JvmMetrics_MemNonHeapCommittedM 非堆committed的内存大小 , 单位 MB
namenode_jvm_JvmMetrics_MemHeapUsedM 最大非堆内存大小 , 单位 MB
namenode_jvm_JvmMetrics_GcCountConcurrentMarkSweep CMS GC次数
namenode_jvm_JvmMetrics_GcCountParNew ParNew GC次数 和CMC一起混合GC,主要是年轻代
namenode_jvm_JvmMetrics_GcTimeMillisConcurrentMarkSweep CMS GC时长
namenode_jvm_JvmMetrics_GcTimeMillisParNew ParNew GC时长
namenode_rpc_RetryCache_NameNodeRetryCache_CacheHit Retrycache hit次数
namenode_rpc_RetryCache_NameNodeRetryCache_CacheUpdated Retrycache updated次数
namenode_rpc_RetryCache_NameNodeRetryCache_CacheCleared Retrycache cleared次数
namenode_dfs_FSNamesystem_LastCheckpointTime 上一次checkpoint的时间
namenode_dfs_FSNamesystem_CapacityTotal 当前总容量
namenode_dfs_FSNamesystem_NumLiveDataNodes 存活dn数量
namenode_dfs_FSNamesystem_NumDeadDataNodes Dead dn数量
namenode_dfs_FSNamesystem_VolumeFailuresTotal 坏盘数量
namenode_dfs_FSNamesystem_CapacityUsedNonDFS 当前已使用的NonDFS容量
namenode_dfs_FSNamesystem_BlocksTotal 当前blocks数量
namenode_dfs_FSNamesystem_MissingBlocks 当前missing的block数量
namenode_dfs_FSNamesystem_ExpiredHeartbeats 超时心跳个数
namenode_dfs_FSNamesystem_TransactionsSinceLastLogRoll 上一次edit log roll的transaction个数
namenode_dfs_FSNamesystem_TransactionsSinceLastCheckpoint 上一次checkpoint的总transaction个数
namenode_dfs_FSNamesystem_SnapshottableDirectories Snapshottable目录个数
namenode_dfs_FSNamesystem_TotalLoad 当前总连接数
namenode_dfs_FSNamesystem_FilesTotal 当前文件和目录总数
namenode_dfs_FSNamesystem_StaleDataNodes 心跳超时被标记为stale的datanode个数
namenode_dfs_namenode_CreateFileOps 创建文件操作数
namenode_dfs_namenode_FilesCreated 通过 create 或者 mkdir 操作创建的文件或者目录操作数
namenode_dfs_namenode_FilesAppended File append操作数
namenode_dfs_namenode_GetBlockLocations GetBlockLocations操作数
namenode_dfs_namenode_GetListingOps directory list 操作数
namenode_dfs_namenode_DeleteFileOps 删除文件操作数
namenode_dfs_namenode_FilesDeleted 通过 delete 或者 rename 删除文件或者目录的操作数
namenode_dfs_namenode_FileInfoOps getFileInfo 和 getLinkFileInfo 操作数
namenode_dfs_namenode_FilesRenamed 文件 rename 操作数
namenode_dfs_namenode_GetAdditionalDatanodeOps GetAdditionalDatanode操作数
namenode_dfs_namenode_AddBlockOps HDFS NameNode 添加Block的操作数
datanode_rpc_rpc_NumOpenConnections datanode打开连接数
datanode_rpc_rpc_NumDroppedConnections datanode drop掉的连接数
datanode_rpc_rpc_RpcProcessingTimeAvgTime datanode请求处理平均时间 , 单位 ms
datanode_rpc_rpc_RpcProcessingTimeNumOps datanode请求次数
datanode_rpc_rpc_CallQueueLength datanode的callQueueLength
datanode_rpc_rpc_ReceivedBytes datanode接收到的数据量 , 单位 byte
datanode_rpc_rpc_SentBytes datanode发送的数据量 , 单位 byte
datanode_rpc_rpc_DeferredRpcProcessingTimeAvgTime datanode延迟处理Rpc的平常处理时长, 单位 ms
datanode_rpc_rpc_RpcQueueTimeAvgTime datanode的平均队列处理时间 , 单位 ms
datanode_rpc_rpc_DeferredRpcProcessingTimeNumOps datanode延迟Rpc处理次数
datanode_jvm_JvmMetrics_MemHeapCommittedM datanode堆committed的内存大小 , 单位 MB
datanode_jvm_JvmMetrics_MemHeapMaxM datanode堆最大内存 , 单位 MB
datanode_jvm_JvmMetrics_MemHeapUsedM datanode堆已使用内存 , 单位 MB
datanode_jvm_JvmMetrics_MemNonHeapCommittedM datanode非堆committed的内存大小 , 单位 MB
datanode_jvm_JvmMetrics_MemNonHeapMaxM datanode非堆最大内存 , 单位 MB
datanode_jvm_JvmMetrics_MemNonHeapUsedM datanode非堆已使用内存 , 单位 MB
datanode_jvm_JvmMetrics_ThreadsBlocked blocked状态的线程数量
datanode_jvm_JvmMetrics_ThreadsNew new状态的线程数量
datanode_jvm_JvmMetrics_ThreadsRunnable runnable状态的线程数量
datanode_jvm_JvmMetrics_ThreadsTerminated terminated状态的线程数量
datanode_jvm_JvmMetrics_ThreadsTimedWaiting timedWaiting状态的线程数量
datanode_jvm_JvmMetrics_ThreadsWaiting waiting状态的线程数量
datanode_jvm_JvmMetrics_LogError error类型的日志数
datanode_jvm_JvmMetrics_LogFatal fatal类型的日志数
datanode_jvm_JvmMetrics_LogInfo info类型的日志数
datanode_jvm_JvmMetrics_LogWarn warn类型的日志数
datanode_dfs_datanode_BlockChecksumOpNumOps BlockChecksum操作数
datanode_dfs_datanode_BlockReportsNumOps BlockReport操作数
datanode_dfs_datanode_CopyBlockOpNumOps Block copy操作数
datanode_dfs_datanode_IncrementalBlockReportsNumOps 增量block报告操作数
datanode_dfs_datanode_ReadBlockOpNumOps 读操作数
datanode_dfs_datanode_ReplaceBlockOpNumOps Block replace操作数
datanode_dfs_datanode_WriteBlockOpNumOps 写操作数
datanode_dfs_datanode_BlockChecksumOpAvgTime BlockCheckSum操作的平均时间 , 单位 ms
datanode_dfs_datanode_BlockReportsAvgTime BlockReport操作的平均时间 , 单位 ms
datanode_dfs_datanode_CopyBlockOpAvgTime Block copy操作的平均时间 , 单位 ms
datanode_dfs_datanode_WriteBlockOpAvgTime 写操作的平均时间 , 单位 ms
datanode_dfs_datanode_ReadBlockOpAvgTime 读操作的平均时间 , 单位 ms
datanode_dfs_datanode_ReplaceBlockOpAvgTime Block replace操作的平均时间 , 单位 ms
datanode_dfs_datanode_IncrementalBlockReportsAvgTime 增量block报告操作的平均时长 , 单位 ms
datanode_dfs_FsVolume_DataFileIoRateNumOps 间隔时间内数据文件io操作次数
datanode_dfs_FsVolume_FileIoErrorRateNumOps 间隔时间内文件io错误操作次数
datanode_dfs_FsVolume_FlushIoRateNumOps 间隔时间内文件刷新io操作次数
datanode_dfs_FsVolume_MetadataOperationRateNumOps 间隔时间内元数据操作次数
datanode_dfs_FsVolume_ReadIoRateNumOps 间隔时间内文件读取操作次数
datanode_dfs_FsVolume_SyncIoRateNumOps 间隔时间内文件同步操作次数
datanode_dfs_FsVolume_WriteIoRateNumOps 间隔时间内写入文件操作次数
datanode_dfs_FsVolume_DataFileIoRateAvgTime 数据文件操作的平均时长 , 单位 ms
datanode_dfs_FsVolume_FileIoErrorRateAvgTime 操作开始到发生故障的平均时长 , 单位 ms
datanode_dfs_FsVolume_FlushIoRateAvgTime 文件刷新io操作的平均时长 , 单位 ms
datanode_dfs_FsVolume_MetadataOperationRateAvgTime 元数据操作的平均时长 , 单位 ms
datanode_dfs_FsVolume_ReadIoRateAvgTime 文件读取操作的平均时长 , 单位 ms
datanode_dfs_FsVolume_SyncIoRateAvgTime 文件同步操作的平均时长 , 单位 ms
datanode_dfs_FsVolume_WriteIoRateAvgTime 文件写入操作的平均时长 , 单位 ms
datanode_ugi_UgiMetrics_LoginSuccessNumOps kerberos成功登陆总数
datanode_ugi_UgiMetrics_LoginFailureNumOps kerberos失败登陆总数
datanode_ugi_UgiMetrics_LoginSuccessAvgTime kerberos成功登陆平均时长 , 单位 ms
datanode_ugi_UgiMetrics_LoginFailureAvgTime kerberos失败登陆平均时长 , 单位 ms