Elasticsearch常用操作:集群管理篇-程序员宅基地

技术标签: 运维  操作系统  大数据  

[TOC]


0 说明

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

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,可以参考文档:<https://www.elastic.co/guide/en/elasticsearch/reference/5.6/search-template.html&gt;

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
}

转载于:https://blog.51cto.com/xpleaf/2329042

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34068198/article/details/92157877

智能推荐

【新手科研指南5】深度学习代码怎么读-小白阶段性思路(以手写数字识别应用为例)_深度学习程序怎么读-程序员宅基地

文章浏览阅读6.2k次,点赞6次,收藏26次。我是一个深度学习代码小白,请你用中文写上注释,能让我能轻松理解下面这段代码。注意包含所有函数、调用和参数的注释。以同样的python代码块样式返回你写的代码给我。代码看累了,就看《动手学深度学习》文档:基于PyTorch框架,从底层函数实现基础功能,再到框架的高级功能。努力上路的小白一枚,麻烦路过的大佬指导一二,同时希望能和大家交流学习~争取更新学习这个文档的专栏,记录学习过程。量身定做了一套话术hhh,亲身测试还不错。这个感觉更浅一点儿,之后复习看吧。20天吃掉那只Pytorch。_深度学习程序怎么读

Java学习路线图,看这一篇就够了!-程序员宅基地

文章浏览阅读2.7w次,点赞126次,收藏1.2k次。耗废1024根秀发,Java学习路线图来了,整合了自己所学的所有技术整理出来的2022最新版Java学习路线图,适合于初、中级别的Java程序员。_java学习路线

PCL_Tutorial2-1.7-点云保存PNG_pcl::io:savepng-程序员宅基地

文章浏览阅读4.4k次。1.7-savingPNG介绍代码详情函数详解savePNGFile()源码savePNGFile()源码提示savePNGFile()推荐用法处理结果代码链接介绍PCL提供了将点云的值保存到PNG图像文件的可能性。这只能用有有序的云来完成,因为结果图像的行和列将与云中的行和列完全对应。例如,如果您从类似Kinect或Xtion的传感器中获取了点云,则可以使用它来检索与该云匹配的640x480 RGB图像。代码详情#include <pcl / io / pcd_io.h>#incl_pcl::io:savepng

知乎问答:程序员在咖啡店编程,喝什么咖啡容易吸引妹纸?-程序员宅基地

文章浏览阅读936次。吸引妹子的关键点不在于喝什么咖啡,主要在于竖立哪种男性人设。能把人设在几分钟内快速固定下来,也就不愁吸引对口的妹子了。我有几个备选方案,仅供参考。1. 运动型男生左手单手俯卧撑,右手在键盘上敲代码。你雄壮的腰腹肌肉群活灵活现,简直就是移动的春药。2.幽默男生花 20 块找一个托(最好是老同学 or 同事)坐你对面。每当你侃侃而谈,他便满面涨红、放声大笑、不能自已。他笑的越弱_咖啡厅写代码

【笔试面试】腾讯WXG 面委会面复盘总结 --一次深刻的教训_腾讯面委会面试是什么-程序员宅基地

文章浏览阅读1.2w次,点赞5次,收藏5次。今天 (应该是昨天了,昨晚太晚了没发出去)下午参加了腾讯WXG的面委会面试。前面在牛客上搜索了面委会相关的面经普遍反映面委会较难,因为都是微信的核心大佬,问的问题也会比较深。昨晚还蛮紧张的,晚上都没睡好。面试使用的是腾讯会议,时间到了面试官准时进入会议。照例是简单的自我介绍,然后是几个常见的基础问题:例如数据库索引,什么时候索引会失效、设计模式等。这部分比较普通,问的也不是很多,不再赘述。现在回想下,大部分还是简历上写的技能点。接下来面试官让打开项目的代码,对着代码讲解思路。我笔记本上没有这部分代码,所_腾讯面委会面试是什么

AI绘画自动生成器:艺术创作的新浪潮-程序员宅基地

文章浏览阅读382次,点赞3次,收藏4次。AI绘画自动生成器是一种利用人工智能技术,特别是深度学习算法,来自动创建视觉艺术作品的软件工具。这些工具通常基于神经网络模型,如生成对抗网络(GANs),通过学习大量的图像数据来生成新的图像。AI绘画自动生成器作为艺术与科技结合的产物,正在开启艺术创作的新篇章。它们不仅为艺术家和设计师提供了新的工具,也为普通用户提供了探索艺术的机会。随着技术的不断进步,我们可以预见,AI绘画自动生成器将在未来的创意产业中发挥越来越重要的作用。

随便推点

Flutter ListView ListView.build ListView.separated_flutter listview.separated和listview.builder-程序员宅基地

文章浏览阅读1.7k次。理解为ListView 的三种形式吧ListView 默认构造但是这种方式创建的列表存在一个问题:对于那些长列表或者需要较昂贵渲染开销的子组件,即使还没有出现在屏幕中但仍然会被ListView所创建,这将是一项较大的开销,使用不当可能引起性能问题甚至卡顿直接返回的是每一行的Widget,相当于ios的row。行高按Widget(cell)高设置ListView.build 就和io..._flutter listview.separated和listview.builder

2021 最新前端面试题及答案-程序员宅基地

文章浏览阅读1.4k次,点赞4次,收藏14次。废话不多说直接上干货1.js运行机制JavaScript单线程,任务需要排队执行同步任务进入主线程排队,异步任务进入事件队列排队等待被推入主线程执行定时器的延迟时间为0并不是立刻执行,只是代表相比于其他定时器更早的被执行以宏任务和微任务进一步理解js执行机制整段代码作为宏任务开始执行,执行过程中宏任务和微任务进入相应的队列中整段代码执行结束,看微任务队列中是否有任务等待执行,如果有则执行所有的微任务,直到微任务队列中的任务执行完毕,如果没有则继续执行新的宏任务执行新的宏任务,凡是在..._前端面试

linux基本概述-程序员宅基地

文章浏览阅读1k次。(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。(3)若没有查到,则将请求发给根域DNS服务器,并依序从根域查找顶级域,由顶级查找二级域,二级域查找三级,直至找到要解析的地址或名字,即向客户机所在网络的DNS服务器发出应答信息,DNS服务器收到应答后现在缓存中存储,然后,将解析结果发给客户机。_linux

JavaScript学习手册十三:HTML DOM——文档元素的操作(一)_javascript学习手册十三:html dom——文档元素的操作(一)-程序员宅基地

文章浏览阅读7.9k次,点赞26次,收藏66次。HTML DOM——文档元素的操作1、通过id获取文档元素任务描述相关知识什么是DOM文档元素节点树通过id获取文档元素代码文件2、通过类名获取文档元素任务描述相关知识通过类名获取文档元素代码文件3、通过标签名获取文档元素任务描述相关知识通过标签名获取文档元素获取标签内部的子元素代码文件4、html5中获取元素的方法一任务描述相关知识css选择器querySelector的用法代码文件5、html5中获取元素的方法二任务描述相关知识querySelectorAll的用法代码文件6、节点树上的操作任务描述相关_javascript学习手册十三:html dom——文档元素的操作(一)

《LeetCode刷题》172. 阶乘后的零(java篇)_java 给定一个整数n,返回n!结果尾数中零的数量-程序员宅基地

文章浏览阅读132次。《LeetCode学习》172. 阶乘后的零(java篇)_java 给定一个整数n,返回n!结果尾数中零的数量

php 公众号消息提醒,如何开启公众号消息提醒功能-程序员宅基地

文章浏览阅读426次。请注意,本文将要给大家分享的并不是开启公众号的安全操作风险提醒,而是当公众号粉丝给公众号发消息的时候,公众号的管理员和运营者如何能在手机上立即收到消息通知,以及在手机上回复粉丝消息。第一步:授权1、在微信中点击右上角+,然后选择“添加朋友”,然后选择“公众号”,然后输入“微小助”并关注该公众号。2、进入微小助公众号,然后点击底部菜单【新增授权】,如下图所示:3、然后会打开一个温馨提示页面。请一定要..._php微信公众号服务提示

推荐文章

热门文章

相关标签