Elasticsearch 5.0.2集群API

1 集群健康
在Elasticsearch集群中可以监控统计很多信息,但是只有一个是最重要的:集群健康(cluster health)。集群健康有三种状态:green、yellow或red。

##在一个没有索引的空集群中运行如上查询,将返回这些信息:
➜  ~ curl '192.168.91.221:9200/_cat/health?v'
epoch      timestamp cluster    status node.total node.data shards pri relo init unassign pending_tasks max_task_wait_time active_shards_percent
1481852119 09:35:19  es-cluster green           3         3      0   0    0    0        0             0                  -                100.0%

status字段提供一个综合的指标来表示集群的的服务状况。三种颜色各自的含义:

| 颜色           | 意义                        |
| ------------- |:---------------------------:|
| green         | 所有主要分片和复制分片都可用
| yellow        | 所有主要分片可用,但不是所有复制分片都可用
| red           | 不是所有的主要分片都可用

PS:注意: 即使集群状态为红色,它仍然提供正常的操作功能(即:它会在现有存活分片中执行搜索请求),但是需要我们尽快修复故障分片,防止查询数据的丢失;

2 节点列表
2.1使用如下api查看节点信息:

➜  ~ curl '192.168.91.221:9200/_cat/nodes?v'
ip             heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.91.223           18          97   0    0.00    0.00     0.00 di        -      es-node3
192.168.91.222           17          97   0    0.00    0.00     0.00 mdi       -      es-node2
192.168.91.221           33          38   0    0.00    0.00     0.00 mdi       *      es-node1

我们可以从返回结果中看出节点名称、节点角色、是否主节点等信息;
创建索引

2.2创建索引:

➜  ~ curl -XPUT '192.168.91.221:9200/users?pretty'
{
  "acknowledged" : true,
  "shards_acknowledged" : true
}
-----------------------------------------------------------
➜  ~ curl -XPUT '192.168.91.221:9200/test?pretty'
{
  "acknowledged" : true,
  "shards_acknowledged" : true
}

2.3删除users和test索引:

curl -XDELETE '192.168.91.221:9200/users?pretty'
curl -XDELETE '192.168.91.221:9200/test?pretty'

执行上述操作返回:

{
  "acknowledged" : true
}

2.4查看索引列表:

使用如下api查看索引列表:

➜  ~ curl '192.168.91.221:9200/_cat/indices?v'

执行上述操作返回:

health status index uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   test  dVgI7sJcT6Ga29a3gclRIQ   5   1          0            0      1.2kb           650b
green  open   users 1eRMSqOvRO-P7ab1lz_qvQ   5   1          0            0      1.2kb           650b

如果集群中没有索引:

➜  ~ curl '192.168.91.221:9200/_cat/indices?v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size

3索引查询
首先我们向users索引中插入一条数据:

➜  ~ curl -XPUT '192.168.91.221:9200/users/external/1?pretty' -d '
{
  "name": "John Doe"
}'

执行上述操作返回:

{
  "_index" : "users",
  "_type" : "external",
  "_id" : "1",
  "_version" : 1,
  "result" : "created",
  "_shards" : {
    "total" : 2,
    "successful" : 2,
    "failed" : 0
  },
  "created" : true
}
➜  ~

再去查询users中的数据:

➜  ~ curl -XGET '192.168.91.221:9200/users/external/1?pretty'
{
  "_index" : "users",
  "_type" : "external",
  "_id" : "1",
  "_version" : 1,
  "found" : true,
  "_source" : {
    "name" : "John Doe"
  }
}
➜  ~

你可能感兴趣的:(Elasticsearch 5.0.2集群API)