我看老版本的ES文档上是有 index.translog.flush_threshold_period 这个参数的,可以指定多久后进行一次flush操作,默认是30分钟。
但我在ES5以上版本试了下发现这个参数已经没有了,只能设置index.translog.flush_threshold_size参数,指定translog达到一定大小后才flush。
这样会出现一个问题,当我把flush_threshold_size设置的较大时,比如4gb,所有不再有写入的索引,它们的每个分片上都有0-4g不等大小的tranglog文件,这些文件加起来占用的磁盘空间很可观。我只能每天手动对全部索引做一次flush才能释放掉。
为什么会取消flush_threshold_period这个参数呢,如果有了这个参数,我上面说的情况就可以解决了。
但我在ES5以上版本试了下发现这个参数已经没有了,只能设置index.translog.flush_threshold_size参数,指定translog达到一定大小后才flush。
这样会出现一个问题,当我把flush_threshold_size设置的较大时,比如4gb,所有不再有写入的索引,它们的每个分片上都有0-4g不等大小的tranglog文件,这些文件加起来占用的磁盘空间很可观。我只能每天手动对全部索引做一次flush才能释放掉。
为什么会取消flush_threshold_period这个参数呢,如果有了这个参数,我上面说的情况就可以解决了。
3 个回复
zqc0512 - andy zhou
赞同来自: byx313
index.refresh_interval
index.translog.flush_threshold_size
trycatchfinal
赞同来自:
可以使用动态索引设置
参考 :https://www.elastic.co/guide/e ... .html
wangxinrong
赞同来自: