设为首页 收藏本站
查看: 769|回复: 0

[经验分享] Elasticsearch常用操作:集群管理篇

[复制链接]

尚未签到

发表于 2019-1-29 07:28:14 | 显示全部楼层 |阅读模式
  [TOC]

0 说明
  基于es 5.6,可以参考官方文档:


  • cat API:https://www.elastic.co/guide/en/elasticsearch/reference/5.6/cat.html
  • Cluster API:https://www.elastic.co/guide/en/elasticsearch/reference/5.6/cluster.html

1 Cat API

1.1 cat aliases
  显示索引的别名信息、过滤器和路由信息。

GET _cat/aliases?v
  ?v是输出表头。

  返回结果如下:

alias             index          filter routing.index routing.search
e3-commons-es     es-java-api    -      -             -
goods_index       my_index_new   -      -             -
alias_test        my_index3      -      -             -
alias_test2       my_index3      -      -             -
alias_test        my_index2      -      -             -
my_search_indices bank_news_news -      -             -
bank_alias        bank           -      -             -
1.2 cat allocation
  查看每个节点的分片数量以及每个节点的磁盘空间使用情况。

GET _cat/allocation?v
  返回结果如下:

shards disk.indices disk.used disk.avail disk.total disk.percent host         ip           node
361       15.1gb     1.6tb      7.3tb      8.9tb           18 172.18.5.206 172.18.5.206 es01
361       15.4gb     1.7tb      7.2tb      8.9tb           19 172.18.5.204 172.18.5.204 es02
361         15gb     1.4tb      7.4tb      8.9tb           16 172.18.5.205 172.18.5.205 es03
1.3 cat count
  查看索引或集群的文档数量。

GET _cat/count?v
  或:

GET _cat/count/books?v
  返回结果如下:

epoch      timestamp count
1544437087 18:18:07  6754
1.4 cat fielddata
  查看每个数据节点上被fielddata所使用的堆内存大小。

GET _cat/fielddata?v
  返回结果如下:

id                     host      ip        node    field              size
jA22IcavSn6DU9RP3S081g 127.0.0.1 127.0.0.1 jA22Ica _uid              1.6kb
jA22IcavSn6DU9RP3S081g 127.0.0.1 127.0.0.1 jA22Ica _parent#rd_center 1.4kb
jA22IcavSn6DU9RP3S081g 127.0.0.1 127.0.0.1 jA22Ica _parent#country   1.4kb
jA22IcavSn6DU9RP3S081g 127.0.0.1 127.0.0.1 jA22Ica _parent           1.4kb
  fielddata的相关原理知识可以自行查找文档来学习。


1.5 cat health
  显示集群的健康状态信息。

GET _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
1544437302 18:21:42  elasticsearch yellow          1         1    186 186    0    0      179             0                  -                 51.0%
1.6 cat indices
  查看索引信息,包括:健康状态、索引开关状态、分片数、副本数、文档数量、标记为删除的文档数量、占用的存储空间、索引的唯一标识等。

GET _cat/indices?v
  或:

GET _cat/indices/forum?v
  返回结果如下:

health status index          uuid                   pri rep docs.count docs.deleted store.size pri.store.size
yellow open   twitter        ih5fzecDRFKHDoKPkAyQTg   5   1          3            0       15kb           15kb
yellow open   cat_shop       AALA-CWYREaLJUN8sMdbIg   5   1          1            0      5.1kb          5.1kb
yellow open   range_index    r8nh_ljRST-K4jztd0gHiw   5   1          1            0        4kb            4kb
yellow open   myblog         ZZEavPu9Q7uOH_QlXEcSQQ   5   1          2            0      7.4kb          7.4kb
yellow open   .kibana        d189HADjSKCy6fV1ogmRgg   1   1          1            0      3.1kb          3.1kb
yellow open   forum          JLUjf6LTRPylrayBIJgzbw   5   1          6            0     41.7kb         41.7kb
1.7 cat master
  显示master节点的id、ip和节点名。

GET _cat/master?v
  返回结果如下:

id                     host           ip             node
-UobleMyQPmJOTAeEtoUdQ 192.168.10.102 192.168.10.102 es02
1.8 cat nodeattrs
  返回节点的信息,但实际上测试并没有返回结果。

GET _cat/nodeattrs?v
1.9 cat nodes
  返回集群中各节点信息。

GET _cat/nodes?v
  返回结果如下:

ip             heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.10.102            7          73   0    0.10    0.03     0.00 mdi       *      es02
192.168.10.103           10          73   0    0.00    0.00     0.00 mdi       -      es03
192.168.10.101            3          97   1    0.01    0.01     0.00 mdi       -      es01
1.10 cat pending tasks
  查看正在执行的任务列表。

GET /_cat/pending_tasks?v
  返回结果如下:

GET /_cat/pending_tasks?v
1.11 cat plugins
  查看节点所运行插件信息。

GET /_cat/plugins?v
  返回结果如下:

name component       version
es02 repository-hdfs 5.6.8
es03 repository-hdfs 5.6.8
es01 repository-hdfs 5.6.8
1.12 cat recovery
  查看索引分片恢复进度。

GET /_cat/recovery?v
  返回结果如下:

index       shard time  type           stage source_host    source_node target_host    target_node repository          snapshot   files files_recovered files_percent files_total bytes bytes_recovered bytes_percent bytes_total translog_ops translog_ops_recovered translog_ops_percent
logs-000001 0     782ms peer           done  192.168.10.103 es03        192.168.10.101 es01        n/a                 n/a        1     1               100.0%        1           162   162             100.0%        162         0            0                      100.0%
logs-000001 0     35ms  empty_store    done  n/a            n/a         192.168.10.103 es03        n/a                 n/a        0     0               0.0%          0           0     0               0.0%          0           0            0                      100.0%
logs-000001 1     31ms  empty_store    done  n/a            n/a         192.168.10.101 es01        n/a                 n/a        0     0               0.0%          0           0     0               0.0%          0           0            0                      100.0%
1.13 cat repositories
  查看集群中的快照库。

GET /_cat/repositories?v
  返回结果如下:

id                  type
my_hdfs_repository2 hdfs
  快照库用来做索引备份与恢复。


1.14 cat thread pool
  查看集群每个节点的线程池统计信息。

GET /_cat/thread_pool?v
  返回结果如下:

node_name name                active queue rejected
jA22Ica   bulk                     0     0        0
jA22Ica   fetch_shard_started      0     0        0
jA22Ica   fetch_shard_store        0     0        0
jA22Ica   flush                    0     0        0
jA22Ica   force_merge              0     0        0
jA22Ica   generic                  0     0        0
jA22Ica   get                      0     0        0
jA22Ica   index                    0     0        0
jA22Ica   listener                 0     0        0
jA22Ica   management               1     0        0
jA22Ica   refresh                  0     0        0
jA22Ica   search                   0     0        0
jA22Ica   snapshot                 0     0        0
jA22Ica   warmer                   0     0        0
1.15 cat shards
  查看集群中每个节点的分片信息,包括分片名称、编号、是否是主分片、状态、文档数据、空间大小、所有节点ip、节点名称。

GET /_cat/shards?v
  返回结果如下:

index       shard prirep state      docs store ip             node
my_index    2     r      STARTED       1 3.2kb 192.168.10.103 es03
my_index    2     p      STARTED       1 3.2kb 192.168.10.102 es02
my_index    1     p      STARTED       0  162b 192.168.10.103 es03
my_index    1     r      STARTED       0  162b 192.168.10.102 es02
my_index    3     p      STARTED       1 3.2kb 192.168.10.101 es01
my_index    3     r      STARTED       1 3.2kb 192.168.10.103 es03
my_index    4     r      STARTED       0  162b 192.168.10.101 es01
my_index    4     p      STARTED       0  162b 192.168.10.103 es03
my_index    0     p      STARTED       0  162b 192.168.10.101 es01
my_index    0     r      STARTED       0  162b 192.168.10.102 es02
1.16 cat segments
  查看索引的segment信息,注意,索引数据实际上是以一个个segment的方式进行存储的。

GET /_cat/segments?v
  返回结果如下:

index       shard prirep ip             segment generation docs.count docs.deleted  size size.memory committed searchable version compound
logs-000001 2     p      192.168.10.103 _0               0          1            0 3.1kb        1498 true      true       6.6.1   true
logs-000001 2     r      192.168.10.102 _0               0          1            0 3.1kb        1498 true      true       6.6.1   true
logs-000001 3     p      192.168.10.101 _0               0          1            0 3.1kb        1498 true      true       6.6.1   true
logs-000001 3     r      192.168.10.103 _0               0          1            0 3.1kb        1498 true      true       6.6.1   true
logs-000001 4     r      192.168.10.101 _0               0          1            0 3.1kb        1498 true      true       6.6.1   true
logs-000001 4     p      192.168.10.102 _0               0          1            0 3.1kb        1498 true      true       6.6.1   true
.kibana     0     p      192.168.10.101 _0               0          1            0 2.9kb        1737 true      true       6.6.1   true
.kibana     0     r      192.168.10.102 _0               0          1            0 2.9kb        1737 true      true       6.6.1   true
my_index    2     r      192.168.10.103 _0               0          1            0 2.9kb        1497 true      true       6.6.1   true
my_index    2     p      192.168.10.102 _0               0          1            0 2.9kb        1497 true      true       6.6.1   true
my_index    3     p      192.168.10.101 _2               2          1            0 2.9kb        1497 true      true       6.6.1   true
my_index    3     r      192.168.10.103 _2               2          1            0 2.9kb        1497 true      true       6.6.1   true
1.17 cat templates
  查看集群中的模板。

GET /_cat/templates?v
  返回结果如下:

name     template   order version
logstash logstash-* 0     50001
  search template,可以参考文档:


2 Cluster API

2.1 Cluster Health
  查看集群的健康状态。

GET /_cluster/health
  返回结果如下:

{
"cluster_name": "es-prd",
"status": "yellow",
"timed_out": false,
"number_of_nodes": 3,
"number_of_data_nodes": 3,
"active_primary_shards": 20,
"active_shards": 37,
"relocating_shards": 0,   // 正在发生迁移的分片
"initializing_shards": 0, // 正在初始化的分片
"unassigned_shards": 6,   // 没有被分配的分片
"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": 86.04651162790698  // 活动分片的百分比
}
  另外,关于status的说明如下:


status
说明




green
不是所有索引的primary shard都是active状态,部分索引有数据丢失了(因为如果只是primary shard不可用了,replica shard会提升,此时说明是有部分数据丢失了)


yellow
每个索引的primary shard都是active状态,但是部分replica shard不是active状态,处于不可用的状态


red
每个索引的primary shard和replica shard都是active状态

2.2 Cluster State
  返回集群的完整状态信息。

GET /_cluster/state
  返回的数据非常多,这里不进行展示,但是可以只返回部分数据,如:

GET /_cluster/state/version
2.3 Cluster Stats
  获取各种统计数据。包括两部分数据:


  • 索引层面:分片数、存储大小、内存使用等;
  • 节点层面:节点数量、节点角色、操作系统、jvm信息、内存、CPU、插件等;

GET /_cluster/stats
2.4 Pending Cluster Tasks
  返回一个正在添加到集群状态的任务列表。

GET /_cluster/pending_tasks
  返回结果如下:

{
"tasks": []
}
2.5 Cluster Reroute
  明确地执行集群重新路由分配命令。

POST /_cluster/reroute
  当然还可以添加其它的可选参数,这个可以自行参考官方文档。


2.6 Cluster Update Settings
  更新集群中的配置,如果是永久配置,需要重启集群;临时配置的訞 不不需要重启集群。

PUT /_cluster/settings
{
"persistent": {
"discovery.zen.minimum_master_nodes":1
}
}
  如果是临时修改,则使用transient。


2.7 Nodes Stats
  统计集群中一个或多个节点的统计信息。

GET /_nodes
  或:

GET /_nodes/es01,es02
  也可以只返回部分信息:

GET /_nodes/es01,es02/os,jvm
2.8 Nodes Info
  参考2.7.

2.9 Task Management API
  获取集群中正在节点中执行的任务信息。

GET /_tasks
2.10 Cluster Allocation Explain API
  查看分片没有被分配的原因,比如通过GET /_cat/shards?v看到某个索引没有被分配,就可以使用下面的命令来查看没有被分配的原因。

GET /_cluster/allocation/explain
{
"index":"twitter",
"shard":0,
"primary":true
}



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-668892-1-1.html 上篇帖子: elasticsearch aggregation 过程(未完) 下篇帖子: elasticsearch相关资料
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表