Elasticsearch集群内部的工做方式(二)

Elasticsearch集群内部的工做方式

Elasticsearch用于构建高可用和可拓展的系统。拓展的方式可使购买更好的服务器(纵向拓展)或者购买更多的服务器(横向拓展),虽然纵向拓展是彻底能够加强服务器的性能,可是纵向拓展是有局限性,咱们在实际中更加倾向于横向拓展。 在传统的数据库中横向拓展须要在程序作更多的工做,可是在Elasticsearch中咱们彻底不须要关系这些,Elasticsearch具有天生的分布式特性。这章主要涉及到了集群(cluster),节点(node)和分片(shards).node

空集群

若是咱们期待一个单独的节点,它尚未数据和索引,这个集群看起来就是这样的数据库

1. 一个节点就是就是Elasticsearch实例,一个集群有一个或者多个节点组成,它们具备相同的cluster.name,它们协调工做,分享数据和负载。当加入新的节点或者删除一个节点的时候,集群就会感知到而且平衡数据。

2. 集群被选取为主节点的节点,他讲临时管理集群级别的一些变动,例如新建或者删除索引,增长或者移除节   点等。主节点不参与文档节的变动或搜索,这意味着在流量的增加的时候,该主节点不会成为集群的瓶颈。任何节点均可以成为主节点。集群只有一个节点的时候会充当主节点的角色。

3.咱们能够和集群中的任何节点通讯,包括主节点。每个节点都知道文档存在于那个节点上,它们能够转发请求到相应的节点上。访问的节点负责收集各节点返回的数据,最后一块儿讲结果返回给客户端
复制代码

集群健康

Elasticsearch能够健康统计集群的健康信息。集群的健康状态有green,yellow或者red服务器

GET /_cluster/health
复制代码

返回的结果以下:分布式

颜色 颜色表明的意义
green 全部主要分片和复制分片均可用
yellow 全部主要分片均可用,可是不是全部的复制分片均可以用
red 不是全部的主要分片均可用
相关文章
相关标签/搜索