elasticsearch集群内的原理
概念1:空集群:集群中的任一节点不包含任何数据和索引。
概念2:elasticsearch节点:一个运行中的 Elasticsearch 实例称为一个 节点。
概念3:elasticsearch集群:集群是由一个或者多个拥有相同 cluster.name 配置的节点组成, 它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。
windows版配置集群注意事项(以同一台机器2个节点为例):
1,创建两个文件夹,解压elasticsearch-5.5.2.zip两次
2,修改elasticsearch.yml,注意使两个配置文件中的cluster.name一定要保持一致[默认名称都是elasticsearch],修改node.name,启动时以区别彼此,修改其中一个http.port为9201,另一个可以保持不变。
分别启动两个节点:使用kibana查看,使用GET _cluster/health查看效果:
GET _cluster/health该语句实际上是查看当前集群的健康状况的,status是重要的指标:
status 字段指示着当前集群在总体上是否工作正常。它的三种颜色含义如下:
green: 所有的主分片和副本分片都正常运行。
yellow: 所有的主分片都正常运行,但不是所有的副本分片都正常运行。
red : 有主分片没能正常运行。
添加索引:
上文档,超详细,自己读
https://www.elastic.co/guide/cn/elasticsearch/guide/current/_add-an-index.html
伸缩扩容
伸缩扩容,增加副本分片,提高吞吐量
文档:
https://www.elastic.co/guide/cn/elasticsearch/guide/current/_scale_horizontally.html
关于运行的节点与分片的之间的友好关系总结:每个节点都是一个完整的索引,充分使用机器是至关重要的,我在运行的过程中发现了一些规律
1,当主分片为3片时【3片可以组成一个完整的索引】,节点2个时,每个主分片恰好分配1个副本分片时,集群健康状况为green,如果每个分片分配了2个副本分片,则unassigned_shards必然为3,意思就是有三个是不活跃状态。
2,当主分片为3片时,节点3个时,每个主分片恰好分配1或2个副本分片时【2个副本的集群比一个副本的集群更健壮,挂2个节点依然可以照常运行】,集群健康状况为green,如果每个分片分配了3个副本分片,则unassigned_shards必然为3,意思就是有三个是不活跃状态。
3,当主分片为2片时,节点3个时,每个主分片恰好分配1或2个副本分片时,集群健康状况为green,如果每个分片分配了3个副本分片,则unassigned_shards必然为2,意思就是有2个是不活跃状态。
列举了这么多,相信你应该明白了