1. ElasticSearch的核心概念
- cluster:代表一个集群,代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个重要概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一 个节点的通信和与整个es集群通信是等价的。
- shards:代表索引分片,es可以吧一个完整的索引分成多个分片,这样就分布到了不同的机器上,构成分布式搜索。分片数量创建后不能修改。默认一个索引库有5个分片。
- replicas:代表索引副本,es可以给索引设置副本,副本的作用一是提高系统的容错性,二是提高es的查询效率,es会自动对搜索请求进行负载均衡。默认是一个分片一个副本。
- gateway:代表es索引的持久化储存方式,es默认是先把索引放入到内存,当内存满的时候再持久化到磁盘中(这点和hbase的memstore很类似)。当集群再次启动的时候会从gateway读取索引数据。(如果需要将数据落地到hadoop的hdfs需要先安装插件 elasticsearch/elasticsearch-hadoop)。
- discovery.zen:代表es的自动发 现节点机制,es是一个基于p2p的系统,它先通过广播寻找存在的节点,再通过多播协议来进行节点之间的通信,同时也支持点对点的交互。
- Transport:代表es内部节点或集群与客户端的交互方式,默认内部是使用tcp协议进行交互,同时它支持http协议(json格式)、thrif