1. cluster 集群
多个节点组合在一起就形成了一个集群,在每个ES节点中,我们可以通过配置集群的名称来使各个节点组合在一起,成为一个集群。当某些节点的集群名称一样,ES会自动根据配置文件中的地址找到这些节点,然后就自动组成一个集群了,这一切都是ES自动来完成的,所以说ES的分布式扩展性很强,在这些节点中可以随时增加和删除节点不用费一点精力。
2.node 节点
ES的时候是在一台服务器上安装ES,其实这就是一个节点(Node),由ES是分布式的,所以我们可以在多台服务器上安装ES,这样我们就有了多个节点。
3.index 索引、type类型、Document文档
(逻辑命名空间,它映射到一个或多个主分片,并且可以具有零个或多个副本分片)类似mysql中的数据库
type 文档的逻辑容器,类似表,在 Elasticsearch 6.0 以后,一个 Index 只能含有一个 type。在默认的情况下是 _doc。在 8.0 的版本中,type 将被彻底删除
Document 文档 就是 mysql里的一条记录,ES的最小单元。
查看索引信息:
curl -XGET http://localhost:9200/twitter/_settings?pretty
4 share 分片
share,Elasticsearch 提供了将索引划分成多份的能力,这些份就叫做分片(shard)。
每个分片本身也是一个功能完善并且独立的“索引”,这个“索引”可以被放置到集群中的任何节点上。
有两种类型的分片:Primary shard 和 Replica shard
Primary shard: 每个文档都存储在一个 Primary shard。 索引文档时,它首先在Primary shard 上编制索引,然后在此分片的所有副本上(replica)编制索引。索引可以包含一个或多个主分片。
Replica shard: 每个主分片可以具有零个或多个副本。 副本是主分片的副本,有两个目的:
增加故障转移:如果主要故障,可以将副本分片提升为主分片。
提高性能:get 和 search 请求可以由主 shard
永远不会在与其主分片相同的节点上启动副本分片
默认情况下,Elasticsearch 为每个索引创建一个主分片和一个副本。
下面的图表示的是一个 index 有 5 个 shard 及 1 个 replica
分配多个分片和副本是分布式搜索功能设计的本质,提供高可用性和快速访问索引中的文档。
主副本和副本分片之间的主要区别在于,只有主分片可以接受索引请求。副本和主分片都可以提供查询请求
如果一个 index 显示的是红色,表面这个 index 至少有一个 primary shard 没有被正确分配,并且有的 shard 及其相应的 replica 已经不能正常访问。
如果是绿色,表明 index 的每一个 shard 都有备份 (replica),并且其备份也成功复制在相应的replica shard 之中。
如果其中的一个 node 坏了,相应的另外一个 node 的 replica将起作用,从而不会造成数据的丢失。
获得index健康情况
http://localhost:9200/_cat/indices/twitter
yellow 标识RS PS在同一个node中,无法高可用
http://localhost:9200/_cat/shards