当前正在开发一个电子商务解决方案,我们正在使用Elasticsearch 6.x启用产品的全文本搜索。
我们有88个索引,每个索引的primary.store.size大约为50mb。每个主数据库都有一个副本。我们经常通过使用固定_id进行批量索引来重新生成这些索引。因此,跨log不断增长。
我的每个索引都与通过_cat / indices提供的数据非常相似:
index pri rep docs.count docs.deleted store.size pri.store.size
myindex_1 1 1 105533 0 79.4mb 39.7mb
对于同一索引,以下是_cat /恢复数据:
index shard time type stage snapshot files files_recovered files_percent files_total bytes bytes_recovered bytes_percent bytes_total translog_ops translog_ops_recovered translog_ops_percent
myindex_1 0 14ms empty_store done n/a 0 0 0.0% 0 0 0 0.0% 0 0 0 100.0%
myindex_1 0 22ms peer done n/a 1 1 100.0% 1 233 233 100.0% 233 0 0 100.0%
对于同一索引,这是_cat / shards数据:
index shard prirep state docs store
myindex_1 0 p STARTED 105533 39.7mb
myindex_1 0 r STARTED 105533 39.7mb
在其默认配置下,translog保留大小为512mb,保留期限为12h。根据文档,translog现在可以保留更长的时间,以实现更快的分片恢复机制。
鉴于我们的索引大小与跨log大小相比非常小,我可以安全地调整translog的保留年龄或保留大小吗?还是我最好增加存储空间以考虑默认的Translog属性?
答案 0 :(得分:3)
保留设置控制着恢复日志文件的数量以及恢复过程中刷新脱机副本应保留的时间。您保存在迁移日志文件中的信息越多,恢复成功的机会就越大,但是大文件会需要更多的服务器资源,它们的处理将花费更长的时间。因此,您必须在这里保持良好的平衡。如果您遇到高吞吐量工作负载,则保留大小的默认设置为512mb是不够的,因此可以放心地将其增加到最大1024mb。保留期限也可以更改,并且有可能导致您增加磁盘存储,因此,一旦更新了两个设置,请注意可用磁盘空间,并根据需求计划所需的磁盘存储升级。