集群内部的工作方式:es可用于构建高可用和可扩展的系统,扩展的方式可以是购买新更好的服务器(纵向)或更多的服务器(横向)。es天生支持横向扩展。
空集群:
一个节点就是一个es实例,es集群由一个或多个节点组成,他们互相协作,分摊数据和搜索,增加或删除数据,集群都会感知和平衡数据。
集群中的一个节点将被选为主节点,主节点会临时管理集群级别的变更,如增删索引、节点等。但不会参与文档级别但变更和搜索。
作为用户,我们可以和集群中的任何一个节点通讯,包括主节点,每个节点都知道数据存储于哪些节点上,他们负责转发请求,我们访问的节点负责收集各节点的数据,并返回给客户端。
集群健康:get /_cluster/health,返回的结果集中status包含三个值,分别是:
green:所有主分片和复制分片都可用
yellow:所有主分片可用,但不是所有复制分片可用
red:不是所有主分片可用
添加索引:索引是一个指向一个或多个分片的逻辑存储空间名称
一个分片是一个最小级别的工作单元,它保存了索引中数据的一部分,同时一个分片就是一个lucene实例,它本身就是一个完整的搜索引擎,但我们不直接与分片通讯,而是直接与索引通讯。
分片可以是主分片和复制分片,索引中但每个文档都单独属于一个主分片,主分片但数量在索引创建好后就固定下来了(默认5个),复制分片可以动态调整;