ElasticSearch集群的基本原理
几个特点:
1- 快速扩容,主要是横向扩容;
2- 共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。
3- 当一个节点被选举成为主节点时,它将负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等。 而主节点并不需要涉及到文档级别的变更和搜索等操作,所以当集群只拥有一个主节点的情况下,即使流量的增加它也不会成为瓶颈。
获取集群的健康状态:
GET /_cluster/health
得到的结果:
{ "cluster_name": "es", "status": "green", "timed_out": false, "number_of_nodes": 3, "number_of_data_nodes": 3, "active_primary_shards": 130, "active_shards": 266, "relocating_shards": 0, "initializing_shards": 0, "unassigned_shards": 0, "delayed_unassigned_shards": 0, "number_of_pending_tasks": 0, "number_of_in_flight_fetch": 0, "task_max_waiting_in_queue_millis": 0, "active_shards_percent_as_number": 100 }
status是我们最关心的,指示着当前集群在总体上是否工作正常。它的三种颜色含义如下:
green 所有的主分片和副本分片都正常运行。
yellow 所有的主分片都正常运行,但不是所有的副本分片都正常运行。
red 有主分片没能正常运行。
三:创建名为 blogs 的索引。 索引在默认情况下会被分配5个主分片
PUT /blogs { "settings" : { "number_of_shards" : 3, //三个主分片 "number_of_replicas" : 1 //每个主分片备份一个分片 } }
把副本数从默认的 1 增加到 2 :
PUT /blogs/_settings { "number_of_replicas" : 2 }
参考文献:ElasticSearch权威指南