概念特性
参考资料:
-
es :
Elasticsearch 是一个分布式、可扩展、文档存储,近实时的搜索与数据分析引擎
-
特性(tags) :
开源, RestfulAPI, json编码, 持久化存储,水平拓展,大数据的搜索,聚合,结构化数据的实时统计,全文检索
-
NRT(Near Realtime): 近实时,写入到可搜索,延迟1s左右 es的搜索和分析可以到达秒级
-
Node: 节点(单台服务器),集群中的任意节点可以被选举为master节点,临时管理集群节点的增加和删除,索引的建立,删除,但是不参与document的搜索和更新
-
Cluster: 集群(一组节点组成),(集群配置名称cluster.name,默认是elasticsearch)
-
Index: elastic会索引所有字段,经过处理后写入倒排索引,查找数据的时候,就是查找的索引,es管理的顶层单位就是index,是单个数据库的同义词,一个索引 中存放的是数据结构相似的数据
-
document: index里面的单条记录,同一个document中的数据最好相似,利于搜索
-
type: 同一个index下,分组document,比如商品,日化和生鲜,商品带有一些不同的特征
-
shard(切片)(primary shard): 单台机器无法存储大量数据,es可以将一个索引中的数据切分成多个shard,每个shard存储这个index的一部分数据,这些shard分布在多台服务器上 可以水平拓展存储更多数据,提高吞吐量和性能 primary shard的数量在创建索引的时候就固定了,默认为5
-
replica(replica shard): 为了提高高可用性和吞吐量,可以创建replica副本,replica shard的数量可以随时修改,默认为1,即每个primary shard创建一个replica shard,replica上可以提供搜索,当primary shard 宕机时,可以继续提供服务,
elasticsearch规定shard和replica必须在不同的服务器上,ES只有发现有两不同的ES实例时,才会创建副本(replica),其实这个副本也算一个shard。内容跟原来的shard完全一样,但是这个副本不会进行插入等操作。
- 场景容错步骤:
3 node 3 shard 2 replica,其中master node宕机
- master选举
- 宕机上的primary shard 被另外node上的replica shard替换
- 重启故障的node,new master会将缺失的副本都copy一份到该node上,node会使用之前的数据,只同步宕机后的数据