Elasticsearch之重要核心概念如下:
1、cluster
代表一个集群,集群中有多个节点,其中有一个为主节点,这个主节点是可以通过选举产生的,主从节点是对于集群内部来说的。es的一个概念就是去中心化,字面上理解就是无中心节点,这是对于集群外部来说的,因为从外部来看es集群,在逻辑上是个整体,你与任何一个节点的通信和与整个es集群通信是等价的。
主节点的职责是负责管理集群状态,包括管理分片的状态和副本的状态,以及节点的发现和删除。
注意:主节点不负责对数据的增删改查请求进行处理,只负责维护集群的相关状态信息。
集群配置(修改conf/elasticsearch.yml文件)
discovery.zen.ping.unicast.hosts: ["host1", "host2:9300"]
集群状态查看
http://your ip:9200/_cluster/health?pretty
2、shards
代表索引分片,es可以把一个完整的索引分成多个分片,这样的好处是可以把一个大的索引水平拆分成多个,分布到不同的节点上。构成分布式搜索,提高性能和吞吐量。
分片的数量只能在创建索引库时指定,索引库创建后不能更改。
只能在创建索引库的时候指定
curl -XPUT ‘localhost:9200/yehua/‘ -d‘{"settings":{"number_of_shards":3}}‘
默认是一个索引库有5个分片
index.number_of_shards: 5
每个分片中最多存储2,147,483,519条数据
Integer.MAX_VALUE-128【详细解释见备注】
3、replicas
代表索引副本,es可以给索引分片设置副本,副本的作用一是提高系统的容错性,当某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡。【副本的数量可以随时修改】
可以在创建索引库的时候指定
curl -XPUT ‘localhost:9200/yehua/‘ -d‘{"settings":{"number_of_replicas":2}}‘
默认是一个分片有1个副本
index.number_of_replicas: 1
注意:主分片和副本不会存在一个节点中
4、recovery
代表数据恢复或叫数据重新分布,es在有节点加入或退出时会根据机器的负载对索引分片进行重新分配,挂掉的节点重新启动时也会进行数据恢复。
原文:http://www.cnblogs.com/zlslch/p/6424682.html