提问要多花一点心思哦

ES备份至HDFS时,限速参数max_snapshot_bytes_per_sec设为0,但还是能做快照,是什么原因。而且设成其他值的话,感觉没起到作用。求大神指点

匿名 | 发布于2019年01月21日 | 阅读数:3165

问题一:"max_snapshot_bytes_per_sec" : "0mb",但是创建快照,仍然可以成功仓库信息:
[Mon Jan 21 16:17:13***]#curl -s http://localhost:80/_snapshot/ ... retty
{
  "repository-20190117" : {
    "type" : "hdfs",
    "settings" : {
      "path" : "/backup/elasticsearch/repository-20190117/",
      "load_defaults" : "true",
      "compress" : "true",
      "uri" : "hdfs://***:8020",
      "max_snapshot_bytes_per_sec" : "0mb"
    }
  }
}
 
问题二:"max_snapshot_bytes_per_sec" : "100mb",但是实际做快照时并未达到这个值
 
 
 
 
已邀请:

linghb

赞同来自:

看了hdfs快照代码,发现HdfsRepository extends BlobStoreRepository 的父类BlobStoreRepository中有
snapshotRateLimiter成员变量的定义,如果设置为max_snapshot_bytest_per_sec = 0,则返回null;
snapshotRateLimiter = getRateLimiter(metadata.settings(), "max_snapshot_bytes_per_sec", new ByteSizeValue(40, ByteSizeUnit.MB));

private RateLimiter getRateLimiter(Settings repositorySettings, String setting, ByteSizeValue defaultRate) {
ByteSizeValue maxSnapshotBytesPerSec = repositorySettings.getAsBytesSize(setting, defaultRate);
if (maxSnapshotBytesPerSec.getBytes() <= 0) {
return null;
} else {
return new RateLimiter.SimpleRateLimiter(maxSnapshotBytesPerSec.getMbFrac());
}
}

 

pony_maggie - 公众号:犀牛饲养员的技术笔记

赞同来自:

0就是不限速呗

caster_QL

赞同来自:

mark,求后续

要回复问题请先登录注册