hadoop优化

hdfs balancer优化:
参考Hdfs-13813\Hdfs-9412\HDFS-8824以及hadoop3.1代码优化hdfs balancer:将getDatanodeStorageReport和getblocks的请求发送到Namenode standby以及忽略小数据块 修改的代码如下:

(1)           将日志记录模式修改为异步

Hdfs-site.xml中添加

  <property>

    <name>dfs.namenode.audit.log.async</name>

    <value>true</value>

  </property>

  <property>

    <name>dfs.namenode.edits.asynclogging</name>

    <value>true</value>

  </property>

(2)           将hdfs balancer获取存储信息的请求发送到standby namenode以及忽略小的数据块

Hdfs-site.xml中添加

  <property>

    <name>dfs.namenode.balancer.request.standby</name>

    <value>true</value>

  </property>

  <property>

    <name>dfs.balancer.getBlocks.min-block-size</name>

    <value>10485760</value>

  </property>

Namenode handler的hortonworks经验值,20*log2(cluster size),最大200


开启审计日志异步写
dfs.namenode.audit.log.async  true

开启RPC拥塞控制,主要针对client rpc   (hadoop-10597)

ipc.8020.backoff.enable  true
 
将单独的rpc queue 改为 多优先级队列 (hadoop-10282)

ipc.8020.callqueue.impl   org.apache.hadoop.ipc.FairCallQueue

dfs.namenode.fslock.fair  默认为公平锁,针对读请求比写请求多很多的情况,如果改为非公平锁,会增加整个集群的吞吐

改进内容

相关配置

相关Patch

日志异步写

hdfs-site.xml
dfs.namenode.audit.log.async
dfs.namenode.edits.asynclogging

hdfs balancer优化

hdfs-site.xml
dfs.namenode.balancer.request.standby
dfs.balancer.getBlocks.min-block-size

HDFS-13183、HDFS-9412、HDFS-8824以及参考部分hadoop3.1代码

yarn日志独立拆分

hdfs-site.xml
dfs.nameservices
dfs.internal.nameservices
dfs.ha.namenodes.pasc
dfs.namenode.rpc-address.pasc.CDM01
dfs.namenode.servicerpc-address.pasc.CDM01
dfs.namenode.rpc-address.pasc.CDM02
dfs.namenode.servicerpc-address.pasc.CDM02
dfs.client.failover.proxy.provider.pasc
yarn-site.xml:
yarn.nodemanager.remote-app-log-dir

YARN-3269
修复获取不到日志集群token的bug

hdfsauditlog添加调用者信息

core-site.xml:
hadoop.caller.context.enabled

HDFS-9184、HDFS-9343、HDFS-12300、YARN-4349

锁细粒度日志和metrics监控

hdfs-site.xml:
dfs.namenode.lock.detailed-metrics.enabled

HDFS-8893、HDFS-10475、HDFS-10872、HDFS-9145、HDFS-9467
HDFS-10789、HDFS-10713、HDFS-10817、HDFS-10896

原文地址:https://www.cnblogs.com/moonypog/p/11008161.html