前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ES 常用Linux查询命令汇总

ES 常用Linux查询命令汇总

作者头像
MickyInvQ
发布2020-09-27 10:44:31
5.8K0
发布2020-09-27 10:44:31
举报
文章被收录于专栏:InvQ的专栏InvQ的专栏

一、_cat操作

_cat系列提供了一系列查询elasticsearch集群状态的接口。你可以通过执行

代码语言:javascript
复制
curl -XGET 'localhost:9200/_cat'
=^.^=  获取所有_cat系列的操作  =^.^=
代码语言:javascript
复制
/_cat/allocation
提供集群各个节点的分片数量(包括主分片及副分片)以及其占用磁盘空间大小的快照
代码语言:javascript
复制
/_cat/shards
/_cat/shards/{index}
详细的描述了节点包含的分片信息。它将告诉您它是一个主分片还是一个副本,和文档的数量,硬盘上占用的大小,以及节点所在的位置。
代码语言:javascript
复制
/_cat/master
简单展示了 master 的 node ID(节点 ID),bound IP address(绑定的 IP 地址)和 node name(节点名)。
代码语言:javascript
复制
/_cat/nodes
展示了集群拓扑结构,前几列告诉您可用的节点并且描述了一下 heap(堆),memory(内存),cpu,和 load(平均负载)
代码语言:javascript
复制
/_cat/indices
/_cat/indices/{index}
提供了每一个索引的 cross-section(横截面)。这些信息跨越了多个节点。我们可以很快的知道一个索引的分片数量,Lucene 级别的文档数量,包括隐藏的文档(例如,嵌套的类型),已删除的文档,主存储的大小,和总存储大小(包括副本在内的所有分片)。这些暴漏的 metric(度量)直接来自 Lucene API。
代码语言:javascript
复制
/_cat/segments
/_cat/segments/{index}
提供了在一个索引分片中关于 segment(段)更低级别的信息
代码语言:javascript
复制
/_cat/count
/_cat/count/{index}
提供了快速获取整个集群,或者单独的索引的文档的数量的功能
代码语言:javascript
复制
/_cat/recovery
/_cat/recovery/{index}
一个索引分片恢复的视图,包括恢复中的和先前已完成的
代码语言:javascript
复制
/_cat/health
 是一个简洁的,一行表示了来自 /_cluster/health 的相同的信息
代码语言:javascript
复制
/_cat/pending_tasks
返回集群层面的,现在还没有开始执行的任务
代码语言:javascript
复制
/_cat/aliases
/_cat/aliases/{alias}
显示目前为索引配置的别名,包括 filter (过滤器)以及 routing infos (路由信息)的相关信息
代码语言:javascript
复制
/_cat/thread_pool
返回集群中各个节点的的线程池数据状态,如活跃的数目、排队的数目、拒绝的个数
代码语言:javascript
复制
/_cat/plugins
提供了一个每一个节点所运行插件的视图
代码语言:javascript
复制
/_cat/fielddata
/_cat/fielddata/{fields}
显示了当前集群中每个数据节点上被 fielddata 所使用的堆内存大小
所有字段是默认被 indexed(被索引的),这使得它们是可搜索的.可以在脚本中排序,聚合和获取字段值,但是需要不同的搜索模式.

搜索需要回答一个问题 “哪个 document(文档) 包含这个 term(词条)”,然而排序和聚合需要回答一个不同的问题 " 这个字段在这个 document(文档)中的值是多少?".

许多字段可以使用 index-time,在磁盘上的 doc_values 支持这种数据访问模式, 但是 text 字段不支持 doc_values。

相反,text 字段使用查询时存在于内存的数据结构 fielddata.这个数据结构是第一次将字段用于聚合,排序,或者脚本时基于需求构建的。它是通过读取磁盘上的每个 segment(片段)的整个反向索引来构建的,将 term(词条)和 document(文档)关系反转,并将结果存储在内存中,在JVM的堆中.

text 字段默认关闭 Fielddata
Fielddata 会消耗很多堆空间,尤其是加载高基数的 text 字段的时候.一旦 fielddata 加载到堆中,它在  segment(片段)中的生命周期还是存在的.此外,加载  fielddata 是一件非常昂贵的过程,会导致用户体验到延迟的感觉.这就是为什么 fielddata 默认关闭.

以上的命令中,你也可以后面加一个?v,让输出内容表格显示表头,比如curl -XGET ‘localhost:9200/_catallocation?v’

二:_cluster系列

1、查询设置集群状态
代码语言:javascript
复制
curl -XGET localhost:9200/_cluster/health?pretty=true
pretty=true 表示格式化输出
level=indices 表示显示索引状态
level=shards 表示显示分片信息
代码语言:javascript
复制
curl -XGET localhost:9200/_cluster/stats?pretty=true
显示集群系统信息,包括CPU JVM等等
代码语言:javascript
复制
curl -XGET localhost:9200/_cluster/pending_tasks?pretty=true
获取集群堆积的任务
代码语言:javascript
复制
修改集群配置
举例:

curl -XPUT localhost:9200/_cluster/settings -d ‘{
“persistent” : {
“discovery.zen.minimum_master_nodes” : 2
}
}’
transient 表示临时的,persistent表示永久的
代码语言:javascript
复制
curl -XPOST ‘localhost:9200/_cluster/reroute’ -d ‘xxxxxx’
对shard的手动控制
代码语言:javascript
复制
关闭节点
关闭指定192.168.1.1节点
curl -XPOST ‘http://192.168.1.1:9200/_cluster/nodes/_local/_shutdown’
curl -XPOST ‘http://localhost:9200/_cluster/nodes/192.168.1.1/_shutdown’
代码语言:javascript
复制
关闭主节点
curl -XPOST ‘http://localhost:9200/_cluster/nodes/_master/_shutdown’
代码语言:javascript
复制
关闭整个集群
$ curl -XPOST ‘http://localhost:9200/_shutdown?delay=10s’
delay=10s表示延迟10秒关闭
$ curl -XPOST ‘http://localhost:9200/_cluster/nodes/_shutdown’
$ curl -XPOST ‘http://localhost:9200/_cluster/nodes/_all/_shutdown’

三:_nodes系列

1、查询节点的状态
代码语言:javascript
复制
curl -XGET ‘http://localhost:9200/_nodes/stats?pretty=true’
curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2/stats?pretty=true’
curl -XGET ‘http://localhost:9200/_nodes/process’
curl -XGET ‘http://localhost:9200/_nodes/_all/process’
curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/jvm,process’
curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/info/jvm,process’
curl -XGET ‘http://localhost:9200/_nodes/192.168.1.2,192.168.1.3/_all
curl -XGET ‘http://localhost:9200/_nodes/hot_threads

四、索引操作

代码语言:javascript
复制
1、获取索引
curl -XGET ‘http://localhost:9200/{index}/{type}/{id}’
2、索引数据
curl -XPOST ‘http://localhost:9200/{index}/{type}/{id}’ -d’{“a”:”avalue”,”b”:”bvalue”}’
3、删除索引
curl -XDELETE ‘http://localhost:9200/{index}/{type}/{id}’
4、设置mapping
curl -XPUT http://localhost:9200/{index}/{type}/_mapping -d ‘{
“{type}” : {
“properties” : {
“date” : {
“type” : “long”
},
“name” : {
“type” : “string”,
“index” : “not_analyzed”
},
“status” : {
“type” : “integer”
},
“type” : {
“type” : “integer”
}
}
}
}’
5、获取mapping
curl -XGET http://localhost:9200/{index}/{type}/_mapping
6、搜索

curl -XGET ‘http://localhost:9200/{index}/{type}/_search’ -d '{
“query” : {
“term” : { “user” : “kimchy” } //查所有 “match_all”: {}
},
“sort” : [{ “age” : {“order” : “asc”}},{ “name” : “desc” } ],
“from”:0,
“size”:100
}
curl -XGET ‘http://localhost:9200/{index}/{type}/_search’ -d '{
“filter”: {“and”:{“filters”:[{“term”:{“age”:“123”}},{“term”:{“name”:“张三”}}]},
“sort” : [{ “age” : {“order” : “asc”}},{ “name” : “desc” } ],
“from”:0,
“size”:100
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-12-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、_cat操作
  • 二:_cluster系列
    • 1、查询设置集群状态
    • 三:_nodes系列
      • 1、查询节点的状态
      • 四、索引操作
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档