红联Linux门户
Linux帮助

Elasticsearch健康状态处理

发布时间:2017-03-27 15:12:02来源:linux网站作者:白细胞
笔者在自己的 ubuntu 服务器上使用 GET /_cat/health?v 命令时,返回值如下所示:
Elasticsearch健康状态处理
 
可以看到集群状态为 yellow,这是什么意思呢?原来在 es 的集群状态中,有三种情况,官网描述如下。
1.RED: Some or all of (primary) shards are not ready.
2.YELLOW: Elasticsearch has allocated all of the primary shards, but some/all of the replicas have not been allocated.
3.GREEN: Great. Your cluster is fully operational. Elasticsearch is able to allocate all shards and replicas to machines within the cluster.
 
由此可知,我们的分片副本还没有被分配到某个节点上。这是因为笔者目前的 es 集群由单节点组成,副本集没有足够的节点容纳它。解决办法也非常简单,由于笔者最近都是单机演示,这里也给出单机的解决方案。
 
笔者的 es 实例文件夹放在 elasticsearch\elasticsearch-5.2.2 文件夹下,将其复制一份为 elasticsearch\elasticsearch-5.2.2_node 放在同个文件夹下,然后按照正常步骤启动即可。再次使用 GET /_cat/health?v 查看时,便会返回一下内容。
 
{
"cluster_name": "elasticsearch",
"status": "green",
"timed_out": false,
"number_of_nodes": 2,
"number_of_data_nodes": 2,
"active_primary_shards": 6,
"active_shards": 12,
"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
}
 
本文永久更新地址:http://www.linuxdiyf.com/linux/29521.html