一、基础概念
1 Cluster:集群
包含一个或多个启动着es实例的服务器群。同一网络下,cluster.name一样的es实例自动组成集群,自动实现均衡分片等。
2 Node:节点
集群中每一个服务器(每个es实例)称为节。节点名可以自动分配、手动配置。
3 Index:索引
包含一组有相似结构的文档数据。相当于关系型数据库中的数据库(表)。如PUT /book ,创建了一个book索引,可在此索引内新增多条图书数据(文档)。
4 Document:文档
es中的最小数据单元。一个document就像数据库中的一条记录。通常以json格式显示。一个对象可以直接存成一个文档。多个document存储于一个索引(Index)中。相当于关系型数据库中的数据行(row)。
5 Field:字段
相当于数据库中的列(Columns),定义每个document应该有的字段。如name、price
6 Type:类型
已弃用。目前type都为_doc。
7 shard:分片
index数据过大时,一个节不够,故将index里面的数据,分为多个shard,分布式的存储在各个服务器上面。可以支持海量数据和高并发,提升性能和吞吐量。创建索引的时候就需要确定好主分片的数量。
8 replica:副本
在分布式环境下,任何一台机器都会随时宕机,如果宕机,index的一个分片没有,导致此index不能搜索。所以,为了保证数据的安全,会将每个index的分片进行备份,存储在另外的机器上。保证少数机器宕机es集群仍可以搜索。
能正常提供查询和插入的分片叫做主分片(primary shard),其余的叫做备份的分片(replica shard)。
二、集群管理
- GET /_cat/health?v 查看集群健康情况
- GET /_cat/indices?v 查看集群所有索引
- 使用head插件可在浏览器将集群健康情况及分片情况可视化