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

智能推荐

数据库的四种安装部署方式_数据库部署-程序员宅基地

文章浏览阅读6.6k次,点赞2次,收藏13次。数据库安装文章目录数据库安装@[toc]实验环境方式1:使用MySQL仓库来安装部署MySQL一、添加MySQL仓库二、禁用默认的MySQL模块三、安装装MySQL四、启动MySQL服务器五、服务确认方式2:离线安装MySQL一、使用以下执行清理之前实验MySQL仓库安装的数据库:二、网上下载mysql的安装包三、将下载好的文件传入Redhat中的某个路径中四、解压安装包五、使用以下指令安装方式3:使用Docker部署MySQL一、准备Docker环境二、下载MySQL服务器Docker映像三、启动M._数据库部署

sqli-labs:less-32(宽字节注入)_sqli labs less32 宽字节注入-程序员宅基地

文章浏览阅读3k次。宽字节注入产生原因:1、mysql 在使用 GBK 编码的时候,会认为两个字符为一个汉字,例如%aa%5c 就是一个汉字(前一个 ascii 码大于 128 才能到汉字的范围)2、mysqli_real_escape_string() 函数转义在 SQL 语句中使用的字符串中的特殊字符。mysqli_real_escape_string(*connection,escapestring*)connection 必需。规定要使用的 MySQL 连接 escapestr..._sqli labs less32 宽字节注入

HTML5 游戏开发快速提升_html5游戏开发 slg游戏-程序员宅基地

文章浏览阅读3.1k次。带你快速掌握html5游戏开发基本功,助你快速进阶游戏开发_html5游戏开发 slg游戏

Windows下kafka生成消费者报错:Missing required argument “[zookeeper]“_missing required argument "[zookeeper]-程序员宅基地

文章浏览阅读4.3k次。.\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic kafka-test-topic --from-beginning上面的语句就是在Windos下 kafka生成消费者的命令行,这命令行是我从百度上找的,但一直是报错。仔细看报错是缺少一个参数–zookeeper,然后我W3Cshool关于kafka的教程上看到Linux系统下生成消费者的命令行。如下:bin/kafka-console-consumer.sh._missing required argument "[zookeeper]

Qt Creator中,include路径包含过程(或如何找到对应的头文件)_qt include路径-程序员宅基地

文章浏览阅读5.9w次,点赞11次,收藏29次。Qt Creator中,include路径包含过程(或如何找到对应的头文件)利用Qt Creator开发程序时,需要包含利用#include来添加头文件。大家都知道,#include 对于后者,路径比较直观,容易理解。如#include "lyc/daniel.h",路径在当前目录的lyc文件夹下。(文件包含是可以嵌套的。)下面重点追溯一下Qt的标准库头文件的路径包含情况。_qt include路径

Fortify代码扫描问题及修复_input validation and representation-程序员宅基地

文章浏览阅读1.6w次,点赞8次,收藏39次。静态代码扫描常见问题及修复风险类型原因Code Correctness: Erroneous String Compare字符串的对比使用错误方法Cross-Site ScriptingWeb浏览器发送非法数据,导致浏览器执行恶意代码Dead Code: Expression is Always true表达式的判断总是trueDead Code: Unused Method没有使用的方法HTTP Response Splitting含有未验证的数据_input validation and representation

随便推点

nohup后台执行不打印_nohub有些打印不出来-程序员宅基地

文章浏览阅读4.3k次。①后台执行,但是打印log在nohup.log在你当前目录下,随着执行这个文件越来越大,直到执行完nohup 你要执行的命令 &amp;例如:nohup bash -x test.sh &amp;②后台执行,不打印lognohup 你要执行的命令 &gt;/dev/null 2&gt;log &amp;例如:nohup bash -x test.sh &gt;/dev/..._nohub有些打印不出来

RadioGroup动态添加RadioButton,并且获得事件_radiogroup 动态-程序员宅基地

文章浏览阅读3.6w次,点赞5次,收藏20次。由于有许多的RadioButton是动态的,不是固定的一些,所以需要在代码中,动态的添加到RadioGroup中,下面是我的实现方法。1、添加RadioButton到RadioGroup中RadioGroup group;for(int i=0; i<10; i++){ RadioButton tempButton = new RadioButton(this);_radiogroup 动态

IDEA 1_intellij idea 2018 xms xmx-程序员宅基地

文章浏览阅读246次。"D:\IDEAINSTALL\IntelliJ IDEA 2018.2.1\bin\idea64.exe.vmoptions" -Xms128m-Xmx750m-XX:ReservedCodeCacheSize=240m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50-ea-Dsun.io.useCanonCache..._intellij idea 2018 xms xmx

项目管理中冲突的六种解决方法_项目 冲突 解决的案例-程序员宅基地

文章浏览阅读2.8w次,点赞3次,收藏17次。解决项目冲突的主要责任在于项目经理,项目经理可以使用以下六种方法来解决冲突:面对/解决问题(confronting/problem solving):通过审查备选方案,把冲突当作需要解决的问题来处理;需要以“取舍”的态度进行公开对话。问题解决就是冲突各方一起积极地定义问题、收集问题的信息、制定解决方案,最后直到选择一个最合适的方案来解决冲突,此时为双赢或多赢。但在这个过程中,需要公开地协商_项目 冲突 解决的案例

VM虚拟机安装Windows XP Service Pack 3 (x86)_windows_xp_professional_with_service_pack_3_x86-程序员宅基地

文章浏览阅读2.9k次,点赞2次,收藏3次。Windows版本  Windows XP发行于2001年10月25日,于2014年4月8日停止支持,XP取自Experience。Windows 7发行于2009年10月22日。  Windows XP Service Pack 3 (x86):SP(service pack)是指服务补丁包,01年发布的XP不带补丁,第一次补丁版本叫SP2,14年最后一个补丁版本叫SP3。下载ISO  操作系统站:https://msdn.itellyou.cn/。值得一提,MSDN是原装系统,跟ghost系统_windows_xp_professional_with_service_pack_3_x86

vue-cli指定版本安装_vue-cli-service 选哪个版本-程序员宅基地

文章浏览阅读1.2w次,点赞16次,收藏32次。安装新的版本前,需要先把之前安装的版本卸载掉。vue卸载:npm uninstall vue-cli -g(3.0以下版本卸载)npm uninstall -g @vue/cli(3.0以上版本卸载)vue安装:npm install -g @vue/cli (安装的是最新版)npm install [email protected] (指定版本安装【指定版本为3.0以下版本】,其中2.9.6为版本号)npm install -g @vue/[email protected](指定版本安装【指定版本为3.0以上版本】,_vue-cli-service 选哪个版本

推荐文章

热门文章

相关标签