ElasticSearch
文章平均质量分 63
努力者Mr李
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ElasticSearch中refresh和flush的区别
注: 部分概念介绍来源于网络一、数据写入流程1、数据写入buffer缓冲和translog日志文件中。 当你写一条数据document的时候,一方面写入到mem buffer缓冲中,一方面同时写入到translog日志文件中。2、buffer满了或者每隔1秒(可配),refresh将mem buffer中的数据生成index segment文件并写入os cache,此时index segment可被打开以供search查询读取,这样文档就可以被搜索到了(注意,此时文档还没有写到磁盘上);然后清空转载 2022-06-08 10:26:55 · 743 阅读 · 1 评论 -
ElasticSearch中Transient与Persistent的区别
注: 部分概念介绍来源于网络transient 临时:这些设置在集群重启之前一直会生效。一旦整个集群重启,这些设置就会被清除。persistent 永久:这些设置永久保存,除非再次被手动修改。是将修改持久化到文件中,重启之后也不影响。PUT /_cluster/settings{ "persistent" : { "cluster.routing.allocation.enable" : "none" //永久性关闭分片自动均衡 }, "transien原创 2022-05-26 15:45:40 · 1166 阅读 · 0 评论 -
串行重启ElasticSearch集群
注: 部分概念介绍来源于网络写脚本的背景:业务的需求,需要添加一个配置,然后在不影响集群的情况下重启生效(业务可以接受短暂的yellow和red)。这样我就需要在集群恢复green之后,才能重启下一台机器。脚本使用方法:脚本esrestart.sh和一个listIP列表放置es集群ip或域名。执行如下命令:sh esrestart.sh listIP#!/bin/bash#0、本脚本用于重启es集群,其中active master必须手动启动,脚本无法重启此mater#1、判断参数if转载 2022-05-26 15:26:42 · 651 阅读 · 0 评论 -
ElasticSearch的segment段合并原理
注: 部分概念介绍来源于网络一、简介Elasticsearch索引(elasticsearch index)由一个或者若干分片(shard)组成,分片(shard)通过副本(replica)来实现高可用。一个分片(share)其实就是一个Lucene索引(lucene index),一个Lucene索引(lucene index)又由一个或者若干段(segment)组成。所以,当我们查询一个Elasticsearch索引时,查询会在所有分片上执行,既而到段(segment),然后合并所有结果。二、原创 2022-05-20 09:26:30 · 2991 阅读 · 0 评论 -
ElasticSearch监控集群状态
注: 部分概念介绍来源于网络Elasticsearch集群监控状态指标分三个级别集群级别:集群级别的监控主要是针对整个Elasticsearch集群来说,包括集群的健康状况、集群的状态等。节点级别:节点级别的监控主要是针对每个Elasticsearch实例的监控,其中包括每个实例的查询索引指标和物理资源使用指标。索引级别:索引级别的监控主要是针对每个索引来说,主要包括每个索引的性能指标。一、集群级别1.1...原创 2022-05-17 16:00:32 · 2154 阅读 · 0 评论 -
ElasticSearch集群状态异常(Red、Yellow)原因分析
注: 部分概念介绍来源于网络一、ElasticSearch集群的三种状态:Green - 所有数据都可用,主副分片都已经分配好Yellow - 所有数据都可用,但尚未分配一些副本,不影响查询,可能影响恢复。如果集群中的某个节点发生故障,则在修复该节点之前,某些数据可能不可用。Red - 某些数据由于某种原因 存在主分片未分配,对查询会有影响二、查询索引Yellow状态原因1、查看集群的健康并显示索引状态GET /_cluster/health?level=indices{ "cl.原创 2022-04-20 14:43:54 · 6073 阅读 · 0 评论 -
ElasticSearch:current license is non-compliant for [security]
注: 部分概念介绍来源于网络GET /_cluster/health{ "error": { "root_cause": [ { "type": "security_exception", "reason": "current license is non-compliant for [security]", "license.expired.feature": "security" } ], "t...原创 2022-04-20 10:38:44 · 6611 阅读 · 0 评论 -
ElasticSearch查询大于10000条的数据
注: 部分概念介绍来源于网络在使用es进行数据查询时,由于es官方默认限制了索引一次性最多只能查询10000条数据,查询第10001条数据开始就会报错,错误的内容大致为:Result window is too large, from + size must be less than or equal to:[10000] but was [10500]. See the scroll api for a more efficient way to requestlarge data sets.原创 2022-04-19 14:28:39 · 4292 阅读 · 0 评论 -
ElasticSearch节点重启
注: 部分概念介绍来源于网络一、elasticsearch 节点重启问题ElasticSearch集群的高可用和自平衡方案会在节点挂掉(重启)后自动在别的结点上复制该结点的分片,这将导致了大量的IO和网络开销。如果离开的节点重新加入集群,elasticsearch为了对数据分片(shard)进行再平衡,会为重新加入的节点再次分配数据分片(Shard), 当一台es因为压力过大而挂掉以后,其他的es服务会备份本应那台es保存的数据,造成更大压力,于是整个集群会发生雪崩。生产环境下建议关闭自动平衡。原创 2021-12-21 09:42:36 · 1572 阅读 · 0 评论 -
Elasticsearch(snapshot)备份的使用方法
注: 部分概念介绍来源于网络一、Elasticsearch部署建议1.选择合理的硬件配置尽可能使用SSDElasticsearch最大的瓶颈往往是磁盘读写性能,尤其是随机读取性能。使用SSD(PCI-E接口SSD卡/SATA接口SSD盘)通常比机械硬盘(SATA盘/SAS盘)查询速度快5~10倍,写入性能提升不明显。对于文档检索类查询性能要求较高的场景,建议考虑SSD作为存储,同时按照1:10的比例配置内存和硬盘。对于日志分析类查询并发要求较低的场景,可以考虑采用机械硬盘作为存储,同时按照1:5原创 2021-12-13 19:57:34 · 4640 阅读 · 0 评论 -
Elasticsearch(CCR)主从同步之跨集群复制
注: 部分概念介绍来源于网络1.跨集群复制Cross-cluster replication (CCR)跨集群复制最早发布版本Elasticsearch 6.7 版本跨集群复制 (CCR) 功能支持将特定索引从一个 ElasticSearch 集群复制到一个或多个 ElasticSearch 集群。复制索引是只读的索引可以由一个或多个 Elasticsearch 集群进行复制。每个复制索引的集群都维护一份索引的只读副本。能够接受写操作的主动索引称为领导者。索引的被动只读副本称为追随者。并不存在选原创 2021-12-09 18:25:28 · 3208 阅读 · 0 评论 -
ElasticSearch索引、查询和写入性能调优
注: 部分概念介绍来源于网络一、Elasticsearch部署建议1.选择合理的硬件配置尽可能使用SSDElasticsearch最大的瓶颈往往是磁盘读写性能,尤其是随机读取性能。使用SSD(PCI-E接口SSD卡/SATA接口SSD盘)通常比机械硬盘(SATA盘/SAS盘)查询速度快5~10倍,写入性能提升不明显。对于文档检索类查询性能要求较高的场景,建议考虑SSD作为存储,同时按照1:10的比例配置内存和硬盘。对于日志分析类查询并发要求较低的场景,可以考虑采用机械硬盘作为存储,同时按照1:5原创 2021-12-02 16:09:57 · 3573 阅读 · 0 评论 -
ElasticSearch基础概念及工作流程
注: 部分概念介绍来源于网络一、Elasticsearch的基本概念Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。1、NRTNear Realtime,近实时,有两个层面的含义,一原创 2021-12-01 15:40:16 · 973 阅读 · 0 评论 -
ElasticSearch索引数据迁移(reindex)
注: 部分概念介绍来源于网络应用背景:1、当你的数据量过大,而你的索引最初创建的分片数量不足,导致数据入库较慢的情况,此时需要扩大分片的数量,此时可以尝试使用Reindex。2、当数据的mapping需要修改,但是大量的数据已经导入到索引中了,重新导入数据到新的索引太耗时;但是在ES中,一个字段的mapping在定义并且导入数据之后是不能再修改的,所以这种情况下也可以考虑尝试使用Reindex。Reindex:ES提供了_reindex这个API。相对于我们重新导入数据肯定会快不少,实测速度大原创 2021-11-25 19:22:16 · 2917 阅读 · 0 评论 -
ElasticSearch索引刷新周期(refresh_interval)
注: 部分概念介绍来源于网络简介当数据添加到索引后并不能马上被查询到,等到索引刷新后才会被查询到。 refresh_interval 配置的刷新间隔。refresh_interval 的默认值是 1s。单位:ms: 毫秒s: 秒m: 分钟如果是指定的纯数字,单位是毫秒。当 refresh_interval 为 -1 时,意味着不刷新索引。当需要大量导入数据到ES中,可以将 refresh_interval 设置为 -1 以加快导入速度。导入结束后,再将 refresh_interval原创 2021-11-25 18:47:34 · 5960 阅读 · 2 评论 -
ElasticSearch索引模板(Index Template)
注: 部分概念介绍来源于网络1、什么是索引模板索引模板: 就是把已经创建好的某个索引的参数设置(settings)和索引映射(mapping)保存下来作为模板, 在创建新索引时, 指定要使用的模板名, 就可以直接重用已经定义好的模板中的设置和映射。1.1、索引模板的用途索引模板一般用在时间序列相关的索引中,也就是说, 如果你需要每间隔一定的时间就建立一次索引, 你只需要配置好索引模板, 以后就可以直接使用这个模板中的设置, 不用每次都设置settings和mappings.索引模板一般与索引别名原创 2021-11-25 17:25:52 · 6005 阅读 · 0 评论 -
ElasticSearch主分片和副本数据大小不一致
注: 部分概念介绍来源于网络文档数量是一样的,但是数据大小不一定一样,产生这种现象的原因在于,主分片和副本分片的segment数量可能不一样。使用cat/shards命令看下索引的分片信息,GET _cat/shards/my_index?v主分片和副本分片虽然文档数量都是一样,但是大小不一样。使用cat/segment命令来查看分片的segment信息,GET _cat/segments/my_index?v从结果中可以看出副本分片上的segment数量比主分片少了一个。这就是造成数据大小原创 2021-11-25 15:33:31 · 1687 阅读 · 0 评论 -
ElasticSearch跨集群搜索(Cross Cluster Search)
注: 部分概念介绍来源于网络一、概念Elasticsearch在5.3版本中引入了Cross Cluster Search(CCS 跨集群搜索)功能,用来替换掉要被废弃的Tribe Node。类似Tribe Node,Cross Cluster Search用来实现跨集群的数据搜索。跨集群搜索使您可以针对一个或多个远程集群运行单个搜索请求 。例如,您可以使用跨集群搜索来过滤和分析存储在不同数据中心的集群中的日志数据。1)Cross Cluster Search简介cross-cluster sea原创 2021-11-24 19:13:28 · 1262 阅读 · 0 评论 -
ElasticSearch和Kibana配置文件说明书
注: 部分概念介绍来源于网络Elasticsearch有三个配置文件,分别是elasticsearch.yml、jvm.options和log4j2.properties.分别用来配置elasticsearch,elasticsearch的jvm和日志。在配置文件中例如${HOSTNAME}表示使用环境变量HOSTNAME;有些配置我们并不想写在配置文件中,而是想启动的时候根据情况再指定,则可以使用${prompt.text} 或 ${prompt.secret}指定某个配置项,这样在启动的时候就需转载 2021-11-23 16:35:08 · 1740 阅读 · 1 评论 -
ElasticSearch索引生命周期管理(ILM)
6.6 版本的发布,Index Lifecycle Management(索引生命周期管理,后文简称 ILM );ILM 可以将索引生命周期分为四个阶段(Phase)(具体几个阶段可以根据实际情况设定); Hot 阶段:索引数据正在活跃的更新和查询,由于该阶段需要进行大量的数据读写,因此需要高配置的节点,也就是我们通常说的热数据,为保证性能数据通常都是在内存中或者SSD上; Warm 阶段:索引数据不再被更新,但是仍被查询,由于该阶段主要负责数据的读取,中等配置的节点即可满足需求,介于热和冷之...原创 2021-11-16 14:43:59 · 4161 阅读 · 0 评论 -
ElasticSeatch基础参数
_index:文档存放在哪_type:文档表示的对象类别_id:文档唯一标识_version:文档的版本号。当每次对文档进行修改时(包括删除),_version 的值会递增。_source:这个字段包含我们索引数据时发送给 Elasticsearch 的原始 JSON 文档order:优先级数字越低,越早使用,如果同时匹配到两个模板,数字低的先使用,数字高的会覆盖低的。template:将这个模板应用于所有以 xxxxx为起始的索引。settings:定义了索引的属性,包括分片数量、副本数量.原创 2021-11-15 15:20:52 · 2364 阅读 · 0 评论
分享