当前位置:  开发笔记 > 前端 > 正文

如何加快Elasticsearch恢复?

如何解决《如何加快Elasticsearch恢复?》经验,为你挑选了1个好方法。

我正在研究6B小型文档的ES集群,以6.5K索引组织,总计6TB.索引在7台服务器之间进行复制和分片.索引占用率从几KB到几百GB不等.

在使用ES之前,我使用了Lucene和相同的文档组织.

基于Lucene的应用程序的恢复非常迅速.实际上,当查询到达时,索引是延迟加载的,然后缓存了IndexReader,以加快将来的回复.

现在,使用Elasticsearch,恢复非常缓慢(几十分钟).请注意,通常在崩溃之前,所有索引都会打开,并且大多数索引都会经常收到索引文档.

是否有任何良好的模式可以缩短ES恢复时间?我也对与索引管理相关的任何事情感兴趣,而不仅仅是关于配置.例如,我想更快地恢复最重要的索引,然后加载所有其他索引; 通过这样做,我可以减少大多数用户的感知停机时间.

我正在使用以下配置:

#Max number of indices cuncurrently loaded at startup
indices.recovery.concurrent_streams: 80

#Max number of bytes cuncurrently readed at startup for loading the indices
indices.recovery.max_bytes_per_sec: 250mb

#Allow to control specifically the number of initial recoveries of primaries that are allowed per node
cluster.routing.allocation.node_initial_primaries_recoveries: 20

#Max number of indices cuncurrently loaded at startup
cluster.routing.allocation.node_concurrent_recoveries: 80

#the number of streams to open (on a node level) for small files (under 5mb) to recover a shard from a peer shard
indices.recovery.concurrent_small_file_streams: 30

PS:现在我正在使用ES 2.4.1,但我会在几周内使用ES 5.2.PPS:停电后的情况可能是复苏.

谢谢!



1> Adonis..:

编辑要对某些索引的恢复进行优先级排序,可以使用索引的优先级设置:

PUT some_index
{
  "settings": {
    "index.priority": 10
  }
}

优先级最高的索引将首先恢复,否则恢复按索引的创建时间排序,请参见此处

第二次编辑要更改副本数,您只需要一个HTTP请求:

PUT  index_name/_settings
{
  "index":{
    "number_of_replicas" : "0"
  }
}

关于快照恢复,我建议以下几点(有些可能不适用于您的情况):

在恢复之前将副本数量设置为0然后将其交换回其默认值(减少写入)

如果使用旋转磁盘,您可以添加到elasticsearch.yml以提高索引速度:( index.merge.scheduler.max_thread_count: 1请参阅此处)

在恢复索引设置之前更新:"refresh_interval" : "-1"并在之后将其恢复为默认值(请参阅doc)

如果您还不关心搜索,ES5群集上的以下内容也可以提供帮助:

PUT /_cluster/settings
{
    "transient" : {
        "indices.store.throttle.type" : "none" 
    }
}

以下几篇文章可以提供帮助:

https://www.elastic.co/guide/en/elasticsearch/reference/5.x/tune-for-indexing-speed.html

https://www.elastic.co/guide/en/elasticsearch/reference/5.x/tune-for-disk-usage.html

一些一般提示:确保你有交换禁用.为ES群集中​​的节点分配了多少内存?(您应该使用节点总可用内存的一半,由于jvms的某些内存寻址限制问题,上限为32 GB).

推荐阅读
手机用户2502851955
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有