1、概述
es是基于lucene的分布式,高扩展的数据搜索引擎;主要用于kafka->logstash->es->kibana的数据收集、存储、数据的可视化。
2、名词释义
(1) cluster:集群,集群中有master节点、data节点、协调节点、Igest节点
(2) shards:索引的分片默认一个索引五个分片一个副本,分片一旦创建完成,就能在动态创建分片了,停机也没用
(3) replicas: 分片的副本数,分片的副本数是可动态扩展的
(4) gateway:对数据的持久化(索引信息、集群信息、translog,mapping等),将索引的数据写到本地磁盘,节点重启之后数据的恢复也是通过这个来恢复数据的,就是web界面显示索引是否启动成功
(5) discovery.zen:代表自动发现机制
(6) Transport:集群内部的通信默认是tcp协议,也支持http协议
3、集群节点
(1) master节点
索引的增删改查,数据的rebalance操作,master节点不负责数据的搜索,负载较低,为防止master节点的脑裂,要配好master节点个数的控制discovery.zen.minimum_master_nodes=N/2+1,索引分片的分、发,数据的路由。
(2) data节点
主要负责数据的存储,数据的索引和检索,压力大和master节点分开
(3) 协调节点
单独负责数据的查询聚合,与master和数据节点分开,从而减轻数据节点的压力,不单独配置协调节点的时候,任何一个节点都可以成为协调节点。
(4) Ingest节点
对索引文档的预处理,文档在索引之前有量的预处理。
4、es的数据存储简单原理
es 会定期将小的segment合并成大的segment,并且删除小的segment