Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch 如何调整小索引的translog保留?_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch 如何调整小索引的translog保留?,elasticsearch,elasticsearch" /> elasticsearch 如何调整小索引的translog保留?,elasticsearch,elasticsearch" />

elasticsearch 如何调整小索引的translog保留?

elasticsearch 如何调整小索引的translog保留?,elasticsearch,elasticsearch,目前正在开发一个电子商务解决方案,我们正在使用Elasticsearch 6.x对产品进行全文搜索 我们有88个索引,每个索引都有一个大约50mb的primary.store.size。每个主服务器都有一个副本。我们经常通过固定id的批量指数化来重新生成这些指数。正因为如此,translog正在增长 我的每个索引都与通过_cat/index提供的这些数据非常相似: index pri rep docs.count docs.deleted store.size pri.st

目前正在开发一个电子商务解决方案,我们正在使用Elasticsearch 6.x对产品进行全文搜索

我们有88个索引,每个索引都有一个大约50mb的primary.store.size。每个主服务器都有一个副本。我们经常通过固定id的批量指数化来重新生成这些指数。正因为如此,translog正在增长

我的每个索引都与通过_cat/index提供的这些数据非常相似:

    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/shard数据:

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现在保存的时间更长,以实现更快的碎片恢复机制


鉴于我们索引的大小与translog大小相比非常小,我可以安全地调整translog保留时间或保留大小吗?或者我最好增加存储空间以考虑默认的translog属性?

保留设置控制translog文件的数量和保存时间,以便在恢复期间刷新脱机副本

translog文件中保存的信息越多,成功恢复的机会就越大,但大型文件将需要更多的服务器资源,其处理时间也将更长。所以,你必须在这里保持良好的平衡


如果您遇到高吞吐量工作负载,那么保留大小的默认设置为512 MB是不够的,因此您可以安全地将其增加到1024 MB。保留期限也可以更改,并且可能会导致您增加磁盘存储,因此,一旦更新了这两个设置,请密切关注可用磁盘空间,并根据需求计划所需的磁盘存储升级。

您能否提供与索引大小相关的更多信息,碎片数量和translog大小<代码>获取猫/索引?v+
获取猫/碎片?v
+
获取猫/恢复?v
您好,谢谢您的回答,我提供了有关我们索引数据的更多信息。然而,我们能不能抽象出我的服务器配置的这个“问题”?我很想知道回到以前的恢复系统是否比使用依赖于撤消/重做日志的恢复系统更快,因为索引translog可能大于我的索引大小。我知道对非常大的索引使用translog更有效,但对于我的用例我真的不知道。谢谢你的回答。然而,根据一篇文章,如果我对6.x之前的版本没有错的话,Elasticsearch碎片恢复机制依赖于lucene段拷贝。对于6.x版,如果translog太旧,我们应该采用这种策略。鉴于索引存储的大小比translog大小小,我是否可以冒险改变保留大小,因为我知道复制Lucene段应该很快(可能比使用非常大的translog快)文件复制通常是一项昂贵的操作,只有通过测试两种恢复方法:translog和旧的基于文件的技术,您才能找到哪种方法更快。当您有一个相当大的translog时,尝试模拟一个失败,然后用两种方法恢复失败的复制副本。接下来,您可以轻松地衡量您所付出的努力,并做出最终决策—重新复制方法。我投票支持translog的快速恢复,除非您遇到硬件崩溃。