6.14. 磁盘慢读识别并自动切换

6.14.1. 磁盘慢读识别功能

​ 数据存储使用两份副本,如果其中一份副本所对应的磁盘出现故障,或当前正进行大IO操作导致繁忙等因素,这块磁盘查询会很慢。

  • lsql方案

lsql会自动识别切换到另外一块磁盘上进行读写,通过这种方式解决查询检索因磁盘导致的托后腿的情况。

  • ES方案

    ES在遇到这种情况时这个磁盘会是瓶颈,会影响整体的查询性能。

6.14.2. 配置方法

1. 设置hdfs的 hedge

DFSClient Hedged Read特性默认是关闭的。如果要开启,则需配置如下:

dfs.client.hedged.read.threadpool.size    #并发Hedged 读的线程池大小 如配置成100 
dfs.client.hedged.read.threshold.millis    #开启一个Hedged 读前的等待时间(毫秒),如配置成300毫秒

2. 解决死锁bug

相当部分的hadoop的hedge实现有死锁BUG,所以一定要使用lsql提供的补丁。

Copyright © lucene.xin 2020 all right reserved修改时间: 2021-07-02 11:42:23

results matching ""

    No results matching ""