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

智能推荐

海康威视网络摄像头开发流程(五)------- 直播页面测试_ezuikit 测试的url-程序员宅基地

文章浏览阅读3.8k次。1、将下载好的萤石js插件,添加到SoringBoot项目中。位置可参考下图所示。(容易出错的地方,在将js插件在html页面引入时,发生路径错误的问题)所以如果对页面中引入js的路径不清楚,可参考下图所示存放路径。2、将ezuikit.js引入到demo-live.html中。(可直接将如下代码复制到你创建的html页面中)<!DOCTYPE html><html lan..._ezuikit 测试的url

如何确定组态王与多动能RTU的通信方式_组态王ua-程序员宅基地

文章浏览阅读322次。第二步,在弹出的对话框选择,设备驱动—>PLC—>莫迪康—>ModbusRTU—>COM,根据配置软件选择的协议选期期,这里以此为例,然后点击“下一步”。第四步,把使用虚拟串口打勾(GPRS设备),根据需要选择要生成虚拟口,这里以选择KVCOM1为例,然后点击“下一步”设备ID即Modbus地址(1-255) 使用DTU时,为下485接口上的设备地址。第六步,Modbus的从机地址,与配置软件相同,这里以1为例,点击“下一步“第五步,Modbus的从机地址,与配置软件相同,这里以1为例,点击“下一步“_组态王ua

npm超详细安装(包括配置环境变量)!!!npm安装教程(node.js安装教程)_npm安装配置-程序员宅基地

文章浏览阅读9.4k次,点赞22次,收藏19次。安装npm相当于安装node.js,Node.js已自带npm,安装Node.js时会一起安装,npm的作用就是对Node.js依赖的包进行管理,也可以理解为用来安装/卸载Node.js需要装的东西_npm安装配置

火车头采集器AI伪原创【php源码】-程序员宅基地

文章浏览阅读748次,点赞21次,收藏26次。大家好,小编来为大家解答以下问题,python基础训练100题,python入门100例题,现在让我们一起来看看吧!宝子们还在新手村练级的时候,不单要吸入基础知识,夯实自己的理论基础,还要去实际操作练练手啊!由于文章篇幅限制,不可能将100道题全部呈现在此除了这些,下面还有我整理好的基础入门学习资料,视频和讲解文案都很齐全,用来入门绝对靠谱,需要的自提。保证100%免费这不,贴心的我爆肝给大家整理了这份今天给大家分享100道Python练习题。大家一定要给我三连啊~

Linux Ubuntu 安装 Sublime Text (无法使用 wget 命令,使用安装包下载)_ubuntu 安装sumlime text打不开-程序员宅基地

文章浏览阅读1k次。 为了在 Linux ( Ubuntu) 上安装sublime,一般大家都会选择常见的教程或是 sublime 官网教程,然而在国内这种方法可能失效。为此,需要用安装包安装。以下就是使用官网安装包安装的教程。打开 sublime 官网后,点击右上角 download, 或是直接访问点击打开链接,即可看到各个平台上的安装包。选择 Linux 64 位版并下载。下载后,打开终端,进入安装..._ubuntu 安装sumlime text打不开

CrossOver for Mac 2024无需安装 Windows 即可以在 Mac 上运行游戏 Mac运行exe程序和游戏 CrossOver虚拟机 crossover运行免安装游戏包-程序员宅基地

文章浏览阅读563次,点赞13次,收藏6次。CrossOver24是一款类虚拟机软件,专为macOS和Linux用户设计。它的核心技术是Wine,这是一种在Linux和macOS等非Windows操作系统上运行Windows应用程序的开源软件。通过CrossOver24,用户可以在不购买Windows授权或使用传统虚拟机的情况下,直接在Mac或Linux系统上运行Windows软件和游戏。该软件还提供了丰富的功能,如自动配置、无缝集成和实时传输等,以实现高效的跨平台操作体验。

随便推点

一个用聊天的方式让ChatGPT写的线程安全的环形List_为什么gpt一写list就卡-程序员宅基地

文章浏览阅读1.7k次。一个用聊天的方式让ChatGPT帮我写的线程安全的环形List_为什么gpt一写list就卡

Tomcat自带的设置编码Filter-程序员宅基地

文章浏览阅读336次。我们在前面的文章里曾写过Web应用中乱码产生的原因和处理方式,旧文回顾:深度揭秘乱码问题背后的原因及解决方式其中我们提到可以通过Filter的方式来设置请求和响应的encoding,来解..._filterconfig selectencoding

javascript中encodeURI和decodeURI方法使用介绍_js encodeur decodeurl-程序员宅基地

文章浏览阅读651次。转自:http://www.jb51.net/article/36480.htmencodeURI和decodeURI是成对来使用的,因为浏览器的地址栏有中文字符的话,可以会出现不可预期的错误,所以可以encodeURI把非英文字符转化为英文编码,decodeURI可以用来把字符还原回来_js encodeur decodeurl

Android开发——打包apk遇到The destination folder does not exist or is not writeable-程序员宅基地

文章浏览阅读1.9w次,点赞6次,收藏3次。前言在日常的Android开发当中,我们肯定要打包apk。但是今天我打包的时候遇到一个很奇怪的问题Android The destination folder does not exist or is not writeable,大意是目标文件夹不存在或不可写。出现问题的原因以及解决办法上面有说报错的中文大意是:目标文件夹不存在或不可写。其实问题就在我们的打包界面当中图中标红的Desti..._the destination folder does not exist or is not writeable

Eclipse配置高大上环境-程序员宅基地

文章浏览阅读94次。一、配置代码编辑区的样式 <1>打开Eclipse,Help —> Install NewSoftware,界面如下: <2>点击add...,按下图所示操作: name:随意填写,Location:http://eclipse-color-th..._ecplise高大上设置

Linux安装MySQL-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle.tar_linux mysql 安装 mysql-5.6.24-1.linux_glibc2.5.x86_6-程序员宅基地

文章浏览阅读2.8k次。一,下载mysql:http://dev.mysql.com/downloads/mysql/; 打开页面之后,在Select Platform:下选择linux Generic,如果没有出现Linux的选项,请换一个浏览器试试。我用的谷歌版本不可以,换一个别的浏览器就行了,如果还是不行,需要换一个翻墙的浏览器。 二,下载完后解压缩并放到安装文件夹下: 1、MySQL-client-5.6.2_linux mysql 安装 mysql-5.6.24-1.linux_glibc2.5.x86_64.rpm-bundle