背景:
在一个内部HDFS集群中,业务方反馈到HDFS集群访问慢;通过分析NN的各RPC,发现DN块汇报时间较长,平均处理时间超过2s
集群现状:
HDFS版本:
3.x
DN 单盘大小 and 磁盘数:
4T or 8T,12块盘 or 更多
DN 块汇报相关参数:
dfs.blockreport.incremental.intervalMsec=300
dfs.blockreport.initialDelay=120
dfs.blockreport.split.threshold=1000000 (100万)
dfs.blockreport.intervalMsec=21600000 (6小时)
块汇报处理时间监控:
DN block report size:
建议优化措施:
dfs.blockreport.split.threshold=5000 (from 100万 to 5000)
dfs.blockreport.intervalMsec=172800000
优化完效果:
DN block report size:
块汇报处理时间监控:
块汇报优化时间对比:
ns | 优化前(ms) | 优化后(ms) | 提升率 |
ns1 | 2500 | 314 | 87.44% |
ns2 | 2230 | 331 | 85.16% |
备注:提升率=(优化前时间-优化后时间)/优化前 * 100%