首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何为大量数据重建elasticsearch索引,而不会在大约15小时后被“杀死”

为了避免在重建elasticsearch索引时被"杀死",可以采取以下步骤:

  1. 扩容硬件资源:确保elasticsearch集群具有足够的计算和存储资源来处理大量数据的索引重建。可以增加节点数量、提升节点规格或者增加存储容量。
  2. 分批处理数据:将大量数据分成多个较小的批次进行索引重建,而不是一次性处理所有数据。这样可以减少单个任务的复杂性和资源消耗。
  3. 优化索引设置:在重建索引之前,检查并优化现有索引的设置。可以考虑调整分片数量、副本数量、刷新间隔等参数,以提高索引性能和重建速度。
  4. 使用Bulk API:使用elasticsearch的Bulk API进行批量索引操作,而不是逐条插入数据。Bulk API可以大幅提高索引的效率。
  5. 调整索引刷新策略:在索引重建期间,可以暂时禁用索引的自动刷新功能,以减少资源消耗。重建完成后再重新启用刷新。
  6. 并行处理任务:如果有多个索引需要重建,可以并行处理它们,以提高整体的重建效率。可以使用多线程或者分布式任务调度工具来实现并行处理。
  7. 监控和优化性能:在索引重建过程中,及时监控elasticsearch集群的性能指标,如CPU利用率、内存使用情况、磁盘IO等。根据监控结果进行调优,确保集群的稳定性和性能。

腾讯云相关产品推荐:

  • 云服务器CVM:提供高性能、可扩展的云服务器实例,适用于elasticsearch集群的部署和运行。链接:https://cloud.tencent.com/product/cvm
  • 云数据库TencentDB for Elasticsearch:基于elasticsearch的托管式数据库服务,提供稳定可靠的elasticsearch集群,支持自动扩容、备份恢复等功能。链接:https://cloud.tencent.com/product/es
  • 对象存储COS:提供高可靠、低成本的对象存储服务,适用于存储elasticsearch索引数据和备份文件。链接:https://cloud.tencent.com/product/cos
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

一起学Elasticsearch系列-写入和检索调优

当涉及到大规模数据存储和检索时,Elasticsearch以其快速、高效和强大的搜索能力闻名,并广泛应用于各种场景,例如日志分析、全文搜索和实时数据分析。...生产经常面临的写入可以分为两种情况: 高频低量:高频的创建或更新索引或文档,一般发生在 C 端业务场景下。 低频高量:一般情况为定期重建索引或批量更新文档数据。...你发布的内容在搜索服务中需要建立索引,而且你的数据可能并不会马上写入索引,而是等待要写入的数据达到一定数量之后,批量写入。...在Elastic分布式系统中,让操作系统杀死节点更有效。 使用多个工作线程 发送批量请求的单个线程不太可能最大化 Elasticsearch 集群的索引容量。...优化手段 避免单次召回大量数据索引擎最擅长的事情是从海量数据中查询少量相关文档,而非单次检索大量文档。非常不建议动辄查询上万数据

20911

Elasticsearch 重建索引

Elasticsearch 常用分词器介绍与 ik 分词器自定义词库添加 但事实上,更加常见的场景是我们需要为一个已有大量数据的线上 ES 集群添加分词库。...这时,配置分词库只是第一步操作,因为大量的历史数据索引时并没有使用新添加的分词库,将导致查询出现不可预期的效果。 此时,我们需要做的就是重建索引。 2....重建索引的使用场景 至少在以下场景需要重建索引。 2.1. 生成索引方式变更 如上所述,因为新的词库的添加,导致历史数据需要按照新的索引生成方式来生成索引。 此时,重建索引就是唯一的选择了。...正确的流程是: 创建新索引 批量从原索引中将数据导出到新索引数据导入完成,通过 ES 别名机制进行索引切换 删除旧索引 这样就实现了索引的平滑重建。 4....重建索引,我们执行下面命令来切换索引: POST /_aliases { "actions" : [ { "remove" : { "index" : "old_index", "alias" : "

1.1K30
  • 干货 | Elasticsearch Reindex性能提升10倍+实战

    reindex不管是跨集群还是同集群上都很慢,大约3~5M/s的索引速率,会是什么原因导致的?...问题2:数据量几十个G的场景下,elasticsearch reindex速度太慢,从旧索引数据到新索引,当前最佳方案是什么? 2、Reindex简介 5.X版本新增Reindex。...Reindex可以直接在Elasticsearch集群里面对数据进行重建,如果你的mapping因为修改需要重建,又或者索引设置修改需要重建的时候,借助Reindex可以很方便的异步进行重建,并且支持跨集群间的数据迁移...比如按天创建的索引可以定期重建合并到以月为单位的索引里面去。 当然索引里面要启用_source。...可以将每个索引的refresh_interval到30s。 如果正在进行大量数据导入,可以通过在导入期间将此值设置为-1来禁用刷新。完成不要忘记重新启用它!

    3.6K31

    Elasticsearch 缓存深入详解

    1、Elasticsearch 缓存引出 Elasticsearch 查询的响应需要占用 CPU、内存资源,在复杂业务场景,会出现慢查询,需要花费大量的时间。 如何破局呢?...我想每次查询的时候直接显示几个小时以前的数据 不是只有实时的,这些是要存到缓存中么? 看 Elasticsearch API的时候看到 /_cache/clear,这个缓存什么时候需要清理?...分片请求缓存非常适合日志用例场景,在这种情况下,数据不会在索引上更新,并且可以将常规聚合保留在高速缓存中以供重用。...请记住,刷新索引(refreshed),旧的结果将自动失效。 3.2.4 缓存分片请求监控 GET /_stats/request_cache?...如果设置了 field data 缓存大小限制,同样的,缓存将开始清除缓存中最新最少更新的数据。此设置可以自动避开断路器限制,但需要根据需要重建缓存。

    4.2K41

    ElasticSearch 动态更新索引

    不变性 倒排索引写入磁盘是 不可改变(immutable):永远不会被修改。不变性有如下几个重要的优势: 不需要锁。如果你没有必要更新索引,你就没有必要担心多进程会同时修改数据。...其它缓存(例如filter缓存),在索引的生命周期内始终保持有效。因为数据不会改变,不需要在每次数据改变时重建。...如果你需要让一个新的文档可被搜索,你需要重建整个索引。这对索引可以包含的数据量或可以更新索引的频率造成很大的限制。 2....2.1 索引与分片 一个 Lucene 索引就是我们 Elasticsearch 中的分片shard, Elasticsearch 中的一个索引是分片的集合。...当 Elasticsearch 搜索索引时,它将查询发送到属于该索引的每个分片(Lucene索引)的副本(主分片,副本分片)上,然后将每个分片的结果聚合成全局结果集,ElasticSearch 内部原理之分布式文档搜索中描述

    3.9K20

    Activity生命周期-你真的了解吗?

    下面两种常见的情况: 资源相关的系统配置发生改变导致Activity被杀死并重新创建 竖屏切换到横屏,由于系统配置发生了改变,在默认情况下,Activity就会被销毁并重新创建(当然我们也可以阻止系统重新创建...注意上面的双引号,何为“容易”?言下之意就是该activity还没有销毁,仅仅是一种可能性。这种可能性有哪些?有这么几种情况: 当用户按下HOME键时。...这是显而易见的,系统不知道你按下HOME要运行多少其他的程序,自然也不知道activity A是否会被销毁,故系统会调用onSaveInstanceState,让用户有机会保存某些非永久性的数据。...调用的前提是,activity A“确实”系统销毁了,如果仅仅是停留在有这种可能性的情况下,则该方法不会被调用,例如,当正在显示activity A的时候,用户按下HOME键回到主界面,然后用户紧接着又返回到...那么这个进程就会很快被杀死,因此一些后台工作不适合脱离四大组件独立运行在后台中,否则很容易被杀死。一般是将后台工作放入Service中从而保证进程有一定的优先级,这样才不会被系统轻易杀死

    99920

    Elasticsearch探索: Reindex API

    简介 5.X版本新增Reindex。...Reindex可以直接在Elasticsearch集群里面对数据进行重建,如果你的mapping因为修改需要重建,又或者索引设置修改需要重建的时候,借助Reindex可以很方便的异步进行重建,并且支持跨集群间的数据迁移...这个对于特别适用于我们在修改我们数据的 mapping ,需要重新把数据从现有的 index 转到新的 index 建立新的索引,这是因为我们不能修改现有的 index 的 mapping 为了能够使用...索引或查询性能是否支配该流程取决于许多因素,正在重建索引的文档和进行reindexing的集群。...默认值是1s,在做reindex时可以将每个索引的refresh_interval到30s或禁用(-1)。  如果正在进行大量数据导入,reindex就是此场景,先将此值设置为-1来禁用刷新。

    2.3K11

    ES系列八、正排索Doc Values和Field Data

    倒排索引的优势在于查找包含某个项的文档,反过来确定哪些项在单个文档里并不高效。...像倒排索引一样基于per-segment,且是不可变,序列化存储到磁盘。通过序列化持久化数据结构到磁盘,可以依赖操作系统的文件缓存来代替JVM heap。...与 doc values 不同,fielddata 结构不会在索引时创建。相反,它是在查询运行时,动态填充。这可能是一个比较复杂的操作,可能需要一些时间。...与 fielddata 预加载不一样,预建全局序号会对数据的 实时性 产生影响,构建一个高基数的全局序号会使一个刷新延时数秒。选择在于是每次刷新时付出代价,还是在刷新的第一次查询时。...如果经常索引查询较少,那么在查询时付出代价要比每次刷新时要好。如果写大于读,那么在选择在查询时重建全局序号将会是一个更好的选择。

    1.4K31

    Elasticsearch如何检索数据

    针对上面数据库的不足,所以才出现了Lucene这种全文检索框架它的核心就在于采用了倒排索引(Inverted Index)的数据结构,不同于数据库的行式存储,Lucene这里采用了列式存储的方式故而对单个字段可以支持多个值的存储...为什么谈到Lucene,因为Lucene本身只是一个全文检索工具包,它不具备企业级的一些特性,分布式,副本,扩展等Elasticsearch和Solr都是基于Lucene开发和扩展的企业级框架,所以了解...早期的全文检索所有的数据都会被做成一个大的倒排索引,当新索引准备好之后,它会替代旧的大索引并且最近的变化数据可以检索。...这个大的倒排索引有一个最大的特点就是不可变性,只要索引写入磁盘,就是不可变的: 优点: (1)由于不可变性,所以不需要锁,也就是不存多个线程同时去修改数据。...(3)其他的缓存filter cache在整个index的生命周期内都是有效的,他们不会被重建,因为索引是不可变的。

    1K90

    Elasticsearch索引、搜索流程及集群选举细节整理

    一旦完成,Elasticsearch 将截断 translog,因为数据现在安全地存储在磁盘上并且不会在崩溃中丢失。...问题 Elasticsearch 索引是一个很好但复杂的分布式过程,它平衡了高性能、数据可靠性和强大的功能。虽然它运作良好,但事情可能并且确实会出错。一些问题出在文档本身,另一些问题出在集群方面。...其中一些,例如副本超时或失败,将导致该分片声明为不同步和无效,将索引状态更改为黄色并安排副本重建。其他的,比如网络分区,会导致主节点本身声明为无效,当它试图与副本通信时会发现这一点。...请注意,所有搜索都是从刷新或提交的索引段完成的,因此只有在刷新才会搜索或找到数据。...有很多共识算法,Raft[11]、Paxos[12]等,它们在数学上证明是有效的,但是,由于Shay Banon(Elasticsearch 的创建者)在这里[13]描述的原因,Elasticsearch

    1.7K20

    关于重建索引 API 使用和故障排查的 3 个最佳实践

    = false 来存储重建索引 API 的结果,这样您就能使用 _task API 来获取重建索引 API 结束时的状态(也可以从“.tasks”索引获取文档, wait_for_completion...在 Elasticsearch 中,字段数据类型是可以定义的,您可以在索引创建期间或使用模板设置这些类型。...如果是这个原因,在运行重建索引之前,请确保集群是稳定的,且所有数据节点都运行良好。如果您是远程执行重建索引操作,并且已知节点之间的网络不可靠:建议选择快照 API(本文结尾处所述)。...NodeNotConnectedException[[node-name][inet[ip:9300]] Node not connected]; ]如果您的日志中出现这类错误,表明您的集群存在稳定性和连接问题,不仅仅是重建索引...使用时间戳字段来分批执行reindex,这样来减少因reindex导致的数据停写时间。没有时间戳字段,则整个reindex需要在源索引停止写入操作。

    20310

    onSaveInstanceState和onRestoreInstanceState详解

    这个方法在一个activity被杀死前调用,当该 activity在将来某个时刻回来时可以恢复其先前状态。...注意上面的双引号,何为"容易"?意思就是说该activity还没有销毁,仅仅是一种可能性。这 种可能性有哪些?...这是显而易见的,系统不知道你按下HOME要运行多少其他的程序,自然也不知道activity A是否会被销毁,因此系统会调用onSaveInstanceState(),让用户有机会保存某些非永久性的数据...android应用框架中定义的几乎所有UI控件都恰当的实现了 onSaveInstanceState()方法,因此当activity摧毁和重建时, 这些UI控件会自动保存和恢复状态数据....若是永久性值,则在onPause()中保存;若大量,则另开线程吧,别阻塞UI线程。 六.

    2.2K50

    ElasticSearch权威指南:基础入门(下)

    字段_source的一个优点是在Elasticsearch中已经有整个文档。你不必从源数据重建索引,而且那样通常比较慢。...从Elasticsearch v2.3.0开始, Reindex API 引入。它能够对文档重建索引不需要任何插件或外部工具。 1....它们不需要在每次数据改变时重建,因为数据不会变化。 写入单个大的倒排索引允许数据压缩,减少磁盘 I/O 和 需要被缓存到内存的索引的使用量。 当然,一个不变的索引也有不好的地方。... 图 17 “一个在内存缓存中包含新文档的 Lucene 索引” 所示,新的文档首先添加到内存索引缓存中,然后写入到一个基于磁盘的段, 图 18 “在一次提交,一个新的段添加到提交点而且缓存清空...可能你正在使用 Elasticsearch 索引大量的日志文件, 你可能想优化索引速度不是近实时搜索, 可以通过设置 refresh_interval , 降低每个索引的刷新频率: PUT /my_logs

    3.9K42

    Elasticsearch 实战案例(索引切分、模板、别名、数据迁移)

    背景 基于ELK搭建的日志平台,前期匆忙建设过程中一些参数和设计未做过多的考虑,上线就需要不断根据实际情况做调整,一些调整限于ELK的一些特性,一旦操作不当就会出现丢数据数据写入异常、数据查不到等情况...image.png CASES CASE1:按日/月生成索引 创建的nginx access_log索引,开始采集2周数据达到25G+(number_of_replicas=1,因此总体数据超过50G...CASE3:通过模板创建Index 创建index,如果未指定具体mapping,则在插入具体doc数据时,会自动生成,具体数据字段的数据类型Elasticsearch会做一定的动态识别,但是大部分都将以...template进行索引创建,不需要特殊指定 aliases:为索引指定一个别名,同样的,通过该配置就能实现我们前面提到的问题,让按照日期创建的新index能够正确的查询到 CASE4:原index...待数据复制完成,调用remove+add alias接口,该操作为原子操作,可以保证数据无缝迁移,具体代码如下:https://www.elastic.co/guide/en/elasticsearch

    2.6K31

    【干货】Elasticsearch搜索调优权威指南(33)

    2全局序列号预热 Elasticsearch 默认是延迟加载属性数据到内存中的。Elasticsearch 首次遇到一个需要指定字段数据的查询时,将会为索引中的每个段加载整个属性到内存中。...需要权衡的是,是在每次刷新时付出代价,还是在一次刷新的首次查询时;如果是索引频繁查询较少,最好选择在每次查询时,不是在每次刷新时。 我们可以让全局序列号为自身付出代价。...这对于提升一个索引库的检索性能来说非常有用,特别是当主机操作系统重启时,因为这可能引发文件系统缓存失效。注意,这可能会拖慢索引的打开速度,因为它们只会在数据加载到物理内存才可用。...如果文件系统缓存大小不足以负担所有数据的话,将大量索引大量文件的数据预加载到文件系统缓存,将会使检索更慢。...对于比内存还大的索引来说,这个选择很危险,因为可能引发文件系统缓存屏蔽,并在大的合并重新打开,较大的合并会使索引和检索变慢,要谨慎使用。

    94410

    Elasticsearch之持久化、路由过程、CRUD原理、scroll技术

    学习目标 倒排索引是不变的优缺点 Elasticsearch持久化 Elasticsearch如何选择master Elasticsearch索引的过程 Elasticsearch搜索的过程 Elasticsearch...,不用变化,提交查询性能 缺点: 1、不变性,导致要更新一个文档就要重建整个倒排索引,性能很差 es使用更多的索引来处理,理解将一个大的索引分成多个小的索引重建的时候就可以更快性能更高,段本身就是一个倒排索引...其实现机制是接收到请求, 同时也会写入到translog中,当Filesystem cache中的数据写入到磁盘中时,才会清除掉,这个过程叫做flush。...协调节点返回给客户端 读请求,为了平衡负载,请求节点会为每个请求选择不同的分片——它会循环所有分片副本 一个索引的文档已经存在于主分片上却还没来得及同步到复制分片上。...Query阶段比较轻量级,通过查询倒排索引,获取满足查询结果的文档ID列表。 Fetch阶段比较重,需要将每个shard的结果取回,在协调结点进行全局排序。

    73010

    集群日志收集架构ELK

    它可以在 Elasticsearch索引中查找,交互数据,并生成各种维度表格、图形。...基于日志的分析,能够在其上产生非常多的解决方案,譬如: 1.问题排查。我们常说,运维和开发这一辈子无非就是和问题在战斗,运维和开发能够快速的定位问题,甚至防微杜渐,把问题杀死在摇篮里。...可以用Kibana来搜索,查看,并存储在Elasticsearch索引中的数据进行交互。 可以轻松地执行高级数据分析,并且以各种图标、表格和地图的形式可视化数据。...Kibana使得理解大量数据变得很容易。它简单的、基于浏览器的界面使你能够快速创建和共享动态仪表板,实时显示Elasticsearch查询的变化。...)中,然后将收集到的数据实时进行过滤,过滤环节是很耗时间和资源的,过滤完成才传输到ES中。

    81330

    ElasticSearch 面试题

    系统中的数据,随着业务的发展,时间的推移,将会非常多,业务中往往采用模糊查询进行数据的搜索,模糊查询会导致查询引擎放弃索引,导致系统查询数据时都是全表扫描,在百万级别的数据库中,查询效率是非常低下的...新版本的文档索引到一个新段。...你应该增加你的文件描述符,设置一个很大的值, 64000 补充:索引阶段性能提升方法 使用批量请求并调整其大小:每次批量数据 5MB – 15MB 大是个不错的起始点 存储:使用 SSD 段和合并:Elasticsearch...但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这样该副本认为故障,分片将会在一个不同的节点上重建 对于读操作,可以设置 replication 为 sync(默认),这使得操作在主分片和副本分片都完成才会返回...ES 中的倒排索引其实就是 lucene 的倒排索引,区别于传统的正向索引,倒排索引会在存储数据时将关键词和数据进行关联,保存到倒排表中,然后查询时,将查询内容进行分词在倒排表中进行查询,最后匹配数据即可

    53820

    Elasticsearch7学习笔记之Elasticsearch7面试题

    0x01 为什么要使用 Elasticsearch 系统中的数据, 随着业务的发展,时间的推移, 将会非常多, 业务中往往采用模糊查询进行数据的搜索, 模糊查询会导致查询引擎放弃索引,导致系统查询数据时都是全表扫描...在新的文档创建时, Elasticsearch 会为该文档指定一个版本号,当执行更新时,旧版本的文档在.del文件中被标记为删除,新版本的文档索引到一个新段。...避免返回大量结果集的搜索与聚合。确实需要大量拉取数据的场景,可以采用 scan & scroll api 来实现。...但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这样该副本认为故障,分片将会在一个不同的节点上重建。...ES中的倒排索引其实就是 lucene 的倒排索引,区别于传统的正向索引, 倒排索引会再存储数据时将关键词和数据进行关联,保存到倒排表中,然后查询时,将查询内容进行分词在倒排表中进行查询,最后匹配数据即可

    87840

    ES 面试题

    但即使大多数可用,也可能存在因为网络等原因导致写入副本失败,这样该副本认为故障,分片将会在一个不同的节点上重建。...你应该增加你的文件描述符,设置一个很大的值, 64,000。 补充:索引阶段性能提升方法 使用批量请求并调整其大小:每次批量数据 5–15 MB 大是个不错的起始点。...在新的文档创建时,Elasticsearch会为该文档指定一个版本号,当执行更新时,旧版本的文档在.del文件中被标记为删除,新版本的文档索引到一个新段。...其实现机制是接收到请求,同时也会写入到translog中,当Filesystem cache中的数据写入到磁盘中时,才会清除掉,这个过程叫做flush; 在flush过程中,内存中的缓冲将被清除,内容写入一个新段...段是不可变的,允许Lucene将新的文档增量地添加到索引中,不用从头重建索引。 对于每一个搜索请求而言,索引中的所有段都会被搜索,并且每个段会消耗CPU的时钟周、文件句柄和内存。

    73430
    领券