美文网首页
Elasticsearch 5.0.2集群API

Elasticsearch 5.0.2集群API

作者: 浅色的嗥啸 | 来源:发表于2016-12-16 10:21 被阅读297次

    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

          本文链接:https://www.haomeiwen.com/subject/lfhnmttx.html