ES 基础 及 高可用

基础概念:

 

index -> type -> mapping -> document -> field

类比Mysql:

index:类比mysql里的一张表

type:类比Hibernate 中多个同类Class同时映射到一个表中的情境,type就是各个Class。index里可以有多个type。

mapping:类比Hibernate的映射。这个type的表结构的定义,定义了这个type中每个字段名称,字段是什么类型的,然后还有这个字段的各种配置

document:类比表中的一条条记录。

field: 类比一条记录的各个字段。

 

shard

一个索引,这个索引可以拆分成多个shard,每个shard存储部分数据。

这个shard的数据实际是有多个备份,就是说每个shard都有一个primary shard,负责写入数据,但是还有几个replica shard。

primary shard写入数据之后,会将数据同步到其他几个replica shard上去。

 

Master

es集群多个节点,会自动选举一个节点为master节点。

这个master节点其实就是干一些管理的工作的,比如维护索引元数据拉,负责切换primary shard和replica shard身份 之类的。

要是master节点宕机了,那么会重新选举一个节点为master节点。

 

如果是非master节点宕机了,那么会由master节点,让那个宕机节点上的primary shard的身份转移到其他机器上的replica shard。

急着你要是修复了那个宕机机器,重启了之后,master节点会控制将缺失的replica shard分配过去,同步后续修改的数据之类的,让集群恢复正常。

 

posted on 2018-05-26 22:06  HB1  阅读(1234)  评论(0)    收藏  举报

导航