![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Elasticsearch
文章平均质量分 92
涛声依旧(竞涛)
乘风破浪,涛声依旧
展开
-
Elasticsearch故障诊断常用方法
文章目录背景使用Profile API定位慢查询1. Query2. Rewrite Time3. Collectors使用[Explain API](https://www.elastic.co/guide/en/elasticsearch/reference/current/search-explain.html)分析未分配的分片(Unassigned Shards)诊断未分配的主分片诊断未分配的副分片诊断已分配的分片节点CPU使用率高节点内存使用率高bulk队列Netty缓冲indexing buff原创 2021-05-20 09:25:14 · 982 阅读 · 3 评论 -
Elasticsearch应用实践
文章目录集群层规划集群规模单节点还是多节点部署移除节点独立部署主节点节点层控制线程池的队列大小为系统cache保留一半物理内存系统层关闭swap索引层使用全局模板索引轮转避免热索引分片不均副本数选择Force MergeShrink Indexclose索引延迟分配分片小心地使用fielddata客户端使用REST API而非JAVA API注意429状态码了解你的搜索计划为读写请求设置比较长的超时时间读写避免搜索操作返回巨大的结果集避免索引巨大的文档避免使用多个_type避免使用_all字段避免将请求发送原创 2021-05-18 09:40:52 · 284 阅读 · 4 评论 -
Elasticsearch磁盘使用量优化
文章目录禁用不需要的特性禁用doc values不要使用默认的动态字符串映射观察分片大小禁用_source使用best_compressionForce MergeShink Index数值类型长度够用就好使用索引排序来排列类似的文档在文档中以相同的顺序放置字段禁用不需要的特性默认情况下,ES为大多数的字段建立索引,并添加到doc_values,以便使之可以被搜索和聚合。例如以下几种情况:如不需要在某个字段上过滤,则可以不索引该字段;如只需要在文本字段上进行匹配,而不关心生成的得分,则可以配置ES原创 2021-05-17 10:02:12 · 917 阅读 · 1 评论 -
Elasticsearch搜索速度的优化
文章目录为文件系统cache预留足够的内存使用更快的硬件文档模型预索引数据字段映射避免使用脚本优化日期搜索为只读索引执行force-merge预热全局序号(global ordinals)execution hint预热文件系统cache转换查询表达式调节搜索请求中的batched_reduce_size使用近似聚合深度优先还是广度优先限制搜索请求的分片数利用自适应副本选择(ARS)提升ES响应速度为文件系统cache预留足够的内存在一般情况下,应用程序的读写都会被操作系统“cache”(除了direc原创 2021-05-17 09:34:53 · 948 阅读 · 0 评论 -
Elasticsearch写入速度优化
文章目录背景translog flush间隔调整索引刷新间隔refresh_interval段合并优化indexing buffer使用bulk请求bulk线程池和队列并发执行bulk请求磁盘间的任务均衡节点间的任务均衡索引过程调整和优化自动生成doc ID调整字段Mappings调整_source字段禁用_all字段对Analyzed的字段禁用Normsindex_options设置背景在ES的默认设置下,是综合考虑数据可靠性、搜索实时性、写入速度等因素的。有时候,业务上对数据可靠性和搜索实时性要求并原创 2021-05-15 16:18:53 · 1803 阅读 · 1 评论 -
Elasticsearch集群状态的发布与应用
文章目录简介集群状态的发布二段提交总流程阶段一:发布过程阶段二:提交过程增量发布的实现原理集群状态的应用简介如果产生了新的集群状态,则主节点会把它广播到其他节点。主节点和其他节点的通信使用最广泛的方式,就是通过下发集群状态让从节点执行相应的处理。控制信息、变更信息都存储在集群状态中。集群状态在ES中封装为ClusterState类。可以通过_cluster/state API来获取集群状态。curl -X GET "localhost:9200/_cluster/state"响应信息中提供了集群原创 2021-05-13 09:30:54 · 399 阅读 · 0 评论 -
ES索引恢复流程解析
文章目录背景主分片恢复流程INIT阶段INDEX阶段VERIFY_INDEX阶段TRANSLOG阶段FINALIZE阶段DONE阶段副分片恢复流程流程概述副分片节点处理过程INIT阶段INDEX阶段VERIFY_INDEX阶段TRANSLOG阶段FINALIZE阶段DONE阶段主分片节点处理过程phase1phase2背景索引恢复是ES数据恢复过程。待恢复的数据是客户端写入成功,但未执行刷盘(flush)的Lucene分段。根据数据分片性质,索引恢复过程可分为主分片恢复流程和副分片恢复流程。主分片从原创 2021-04-29 20:48:06 · 2744 阅读 · 1 评论 -
Elasticsearch搜索流程解析
文章目录背景协调节点流程Query阶段Fetch阶段数据节点流程响应Query请求响应Fetch请求背景ES的读取分为GET和Search两种操作,这两种读取操作有较大的差异,GET/MGET必须指定三元组:_index、_type、_id。也就是说,根据文档id从正排索引中获取内容。而Search不指定_id,根据关键词从倒排索引中获取内容。可接收客户端请求的节点称为协调节点。在协调节点,搜索任务被执行成一个两阶段过程,即query then fetch。真正执行搜索任务的节点称为数据节点。当搜索任原创 2021-04-22 21:34:31 · 1036 阅读 · 0 评论 -
Elasticsearch写入流程源码解析
文章目录前言协调节点流程数据预处理pipeline请求自动创建索引检测索引的mapping、routing、id信息内容路由,构建基于shard的请求将请求转发给primary shard并等待响应主分片节点流程检查写一致性写Lucene写Translog写副分片副分片节点流程前言新建、索引和删除请求都是写操作,写单个文档的流程如下:客户端向协调节点发送写请求,ES的任意节点都可以作为协调节点(coordinating node)接受请求。协调节点使用_routing(默认是文档ID)字段来确定文原创 2021-03-28 18:19:34 · 712 阅读 · 1 评论 -
Elasticsearch中的Zen Discovery选主流程
文章目录背景为什么使用主从模式?选举算法什么时候触发选主?选主过程选举临时Master投票与得票的实现确立Master或加入集群选举完成elasticsearch中的Discovery模块负责发现集群中的节点,以及选择主节点。在Elasticsearch 7.0以前,内置的实现称为Zen Discovery。Zen Discovery封装了节点发送(ping)、选主等实现过程。背景为什么使用主从模式?ES的典型场景中的另一个简化是集群中没有那么多节点。通常,节点的数量远远小于单个节点能够维护的连接数原创 2021-03-16 09:23:54 · 632 阅读 · 0 评论 -
Elasticsearch节点的启动和关闭流程
文章目录节点启动流程解析命令行参数和配置文件加载安全配置检查内部环境检测外部环境堆大小检查文件描述符检查内存锁定检查最大线程数检查最大虚拟内存检查最大文件大小检查虚拟内存区域最大数量检查JVM Client模式检查串行收集检查系统调用过滤器检查OnError与OnOutOfMemoryError检查Early-access检查G1GC检查启动内部模块启动keepalive线程节点关闭流程主节点被关闭数据节点被关闭写入过程中关闭读取过程中关闭节点启动流程启动脚本bin/elasticsearch通过exe原创 2020-08-30 16:15:26 · 1748 阅读 · 0 评论 -
Elasticsearch集群启动流程
文章目录选举主节点选举集群元信息allocation过程选主分片选副分片数据恢复主分片recovery副分片recovery节点启动时的外部检查集群启动过程要经历选举主节点、主分片、数据恢复等重要阶段。选举主节点集群启动的第一件事是选择主节点,选主之后的流程由主节点触发。ES的选主算法是基于Bully算法的改进,主要思路是对节点ID排序,取ID值最大的节点作为Master,每个节点都运行这个流程。在实现上被分解为两步:先确定唯一的、大家公认的主节点,再想办法把最新的机器元数据复制到选举出的主节点上。原创 2020-08-22 16:54:37 · 869 阅读 · 0 评论 -
Elasticsearch+Kibana安全配置详解
文章目录简介启用Elasticsearch安全特性配置传输层TLS/SSL加密传输设置内置用户密码配置HTTP层TLS/SSL加密传输配置Kibana到Elasticsearch的校验生成PKI客户端证书配置Kibana到Elasticsearch的校验配置Kibana UI的SSL加密传输简介对生产环境的Elasticsearch集群开启安全特性是必要的,而Elastic Stack已经提供...原创 2019-08-04 16:20:52 · 6928 阅读 · 4 评论 -
Kibana配置安装
文章目录简介重要配置server.hostserver.basePath & server.rewriteBasePathelasticsearch.hostsserver.namelogging.dest访问 Kibana检查集群状态创建索引模式简介Kibana是一款开源的数据分析和可视化平台,用于和Elasticsearch协作。Kibana可以用来对Elasticsearch索引...原创 2019-07-03 20:51:03 · 1582 阅读 · 1 评论 -
SQL on Elasticsearch
文章目录简介SQL REST API请求方式CURLKibanaHTTP返回数据数据格式分页获取SQL对应的实际查询DSLSQL命令行客户端JDBC连接方式API使用IDE 客户端ES-Hadoop使用方式操作下推简介Elasticsearch的DSL查询语言使用复杂,难以理解。SQL才是数据分析人员的通用语言,也是获取数据的最便捷的方式。Elasticsearch包含一个X-Pack SQL...原创 2019-06-26 10:31:00 · 963 阅读 · 0 评论 -
Elasticsearch数据接入
文章目录简介LogStash接入ES-Hadoop接入重要配置批处理导入流数据写入Dstream to ESStructured Streaming to ES几个注意事项主键设置写入冲突Exactly OnceES写入性能简介Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,可以对大量数据进行快速的搜索和聚合分析。同时它能够水平扩展,每秒钟可处理海量事件,同时能...原创 2019-06-25 15:24:36 · 3257 阅读 · 1 评论 -
Elasticsearch配置解析
文章目录简介系统配置最大文件描述符内存锁定限制虚拟内存映射最大数量线程数elasticsearch.ymlcluster.namenode.namepath.data & path.logminimum\_master_nodes集群恢复配置使用单播发现策略锁住内存禁止模糊匹配删除索引jvm.options堆内存配置为什么堆内存尽量不要超过32GB?log4j2.propertiesAPI...原创 2019-06-16 22:31:48 · 308 阅读 · 0 评论