Elasticsearch--集群管理_时光机&监控
目录
Elasticsearch时光机
强大数据恢复机制
创建快照存储库
快照保存它创建的时间点上所有跟集群相关的数据,包括集群状态和索引的信息。至少在创建第一个快照之前,必须创建一个快照存储库。
每个存储库有名称区分,应该定义如下内容:
- name:存储库的唯一名称
- type:存储库的类型,可能值包括fs(共享文件系统中的存储库)、url(一个通过URL访问的只读存储库)。
settings:不同存储库类型需要的额外信息。
创建一个文件系统存储库,集群中的每个节点都应该能访问这个目录。实例创建命令如下:
前面的命令创建一个backup的库。将备份文件存储在由location属性指定的目录中。与此同时,本地文件系统中新建了backup_folder目录,但是没有任何内容。
创建快照
默认情况下,创建快照时,Elasticsearch取得所有的索引和集群设置。可以创建任意数量的快照,快照仅复制新的信息。这意味着Elasticsearch知道哪些段已经存储在存储库中,不会再保存它们。
创建快照,需要选择一个唯一的名称,命令如下:
curl -XPUT 'localhost:9200/_snapshot/backup/bckp1'
上面定义了一个名为bcp1的新快照,数据保存在定义的backup库中。以上命令成功后,快照就开始创建,如果想被创建以后才得到成功相应,可以添加wait_for_complete参数:
curl -XPUT 'localhost:9200/_snapshot/backup/bckp1?wait_for_complete=true&pretty'
额外参数
- indices:想拍快照的索引名称
- ignore_unavailable:默认是true,设置为false时,意味着如果indices参数指定的不存在的索引,命令将失败。
- include_global_state:默认是true,指集群的状态也被写入快照中。
partial:快照的成功与否取决于所有分片的可能性,任何一个分片不可用,快照都将失败。设置partial为true时,Elasticsearch保存可用分片的信息,忽略丢失的分片。
还原快照
从backup存储库中还原一个名为bckp1的快照,执行下面命令:
curl -XPOST 'localhost:9200/_snapshot/backup/bckp1/_restore'
执行这个命令过程中,如果索引已经存在而且未关闭,命令将失败。这种情况下可以还原某些索引:
curl -XPOST 'localhost:9200/_snapshot/backup/bckp1/_restore?pretty -d {"include":"c*"}'
上述命令只还原以字母c开头的索引,还可以包含下列参数:
清理:删除旧的快照
curl -XDELETE 'localhost:9200/_snapshot/backup/bckp1?pretty'
监控集群状态和健康度
Elasticsearch提供了非常详细的信息,使得能够监控单个节点和集群。
集群健康度API
最基本的健康度API,得到整个集群的信息:
curl 'localhost:9200/_cluster/health?pretty'
返回的响应如下:
集群的状态有green(表示分片和副本都可用)yellow(表示部分副本不可用)red(至少一个主分片没有分配)。
curl 'localhost:9200/_cluster/health/library,map?pretty'
以上命令仅检查两个索引的健康度。
控制信息细节
Elasticsearch允许指定一个特征的level参数,把它指定为cluster(默认)、indices或shards。
额外的参数
- timeout:控制命令执行的最长时间,默认是30s
- wait_for_status:返回响应时,集群应该处于什么状态。可以取:green,yellow和red。如果指定状态是实际不符,响应会超时失败。
- wait_for_nodes:返回响应时需要多少节点可用(或者达到timeout时间)
- wait_for_relocationg_shard:默认不指定,告诉Elasticsearch应该重定位多少分片
索引统计API
Elasticsearch使用_stats端点上的索引统计API,可以得到关于集群中索引的各种信息。可以发送命令得到所有索引的信息(使用纯_stats端点),或得到某特定索引的信息,或者一次得到几个索引的信息。
curl -XPOST 'localhost:9200/library,map/_stats?pretty'
docs
显示索引文档的信息
"docs":{
"count":4,
"deleted":0
}
count指文档的数目,从索引中删除文档时,并不是立刻删除,而是做标记,等合并过程中删除,被标记的删除文档的数目在deleted属性中。
store
提供了关于存储的信息
"store":{
"size_in_bytes":6003,
"throttle_time_in_millis":0
}
主要信息是关于这个索引的大小。还有调节统计值,在系统有I/O性能问题,段合并过程中内部操作有限制时,这个信息很有用。
indexing, get和search
响应中的indexing,get,search节点提供了数据操纵的相关信息:索引删除操作,实时的get和搜索。
可以看到这些统计具有类似结构:请求花费的总时间,请求数,可以用总时间计算单个查询的平均时间。
额外信息
此外,Elasticsearch提供了下列信息。
状态API
另一个得到关于索引信息的方法,使用_status端点的状态API,返回描述了可用的分片,包含:哪个分片被认为是主分片,它被分配到哪个节点,被重新分配到了哪个节点,分片的状态,事务日志,合并过程以及刷新和清理统计。
节点信息API
请求发送到_nodes端点。
可以获取单个或特定几个节点的信息:
该API还允许使用如下方式一次性获得几个节点的信息:
- 模式: 例如,_nodes/192.168.1.*或_nodes/P*
- 节点枚举:例如_nodes/Pluse,Slab
- 模式与节点枚举:例如,_nodes/P*, S*
默认情况下,对节点API的请求将返回关于节点的基本信息,比如名称、标示符、地址。通过添加额外参数,可以获取其他信息
curl -XPOST 'localhost:9200/_nodes/Pluse/os, jvm, plugins?pretty'
节点统计API
节点信息API提供环境信息,节点统计API告诉我们集群工作时发生过什么。发送命令的端口是/_nodes/stats。
集群状态API
允许获取整个集群的信息,也可以通过在请求中添加local=true,限制返回本地节点信息。
curl -XPOST 'localhost:9200/_cluster/state?pretty'
不过,也可以把提供信息限定为特定的度量,以及特定的索引
curl -XPOST 'localhost:9200/_cluster/state/nodes/map,library?pretty'
可以使用下列度量
挂起任务API
索引段API
cat API
上面API返回的信息都是JSON格式,对人来说不是很友好,Elasticsearch提供了一个友好API:cat API。向_cat REST端点发送一个请求,紧跟着下面的一个选项:
- aliases: 返回有关别名的信息
- allocation:返回分片分配和磁盘使用的信息
- count:为所有索引或单个索引返回文档个数的信息
- health:集群健康度信息
- indices:返回所有索引或单个索引的信息
- master:当前主节点信息
- nodes:集群拓扑相关信息
- pending_tasks:正在等待执行的任务信息
- recovery:还原过程的视图
- thread_pool:返回集群范围内线程池的统计信息
- shards:关于分片的信息
curl -XGET 'localhost:9200/_cat/shards?v'
限制返回信息
- aliases: 请求中添加别名,限定获取特定的别名
- count:添加感兴趣的索引名字,限定获取特定索引的信息
- indices:同count一样,特定索引
- shards:同count一样,特定索引
Elasticsearch--集群管理_时光机&监控的更多相关文章
- Elasticsearch集群 管理
第7章 深入Elasticsearch集群 启动一个Elasticsearch节点时,该节点会开始寻找具有相同集群名字并且可见的主节点.如 果找到主节点,该节点加入一个已经组成了的集群:如果没有找到, ...
- elasticsearch 集群管理(集群规划、集群搭建、集群管理)
一.集群规划 搭建一个集群我们需要考虑如下几个问题: 1. 我们需要多大规模的集群? 2. 集群中的节点角色如何分配? 3. 如何避免脑裂问题? 4. 索引应该设置多少个分片? 5. 分片应该设置几个 ...
- elasticsearch集群管理工具head插件(转)
elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es 插件安装方法1: 1.elasticsearc ...
- Elasticsearch集群管理工具head插件安装
Elasticsearch-head是一个elasticsearch的集群管理工具,它是完全由html5编写的独立网页程序,你可以通过插件把它集成到es.或直接下载源码,在本地打开index.html ...
- Kubernetes容器集群管理环境 - Prometheus监控篇
一.Prometheus介绍之前已经详细介绍了Kubernetes集群部署篇,今天这里重点说下Kubernetes监控方案-Prometheus+Grafana.Prometheus(普罗米修斯)是一 ...
- 大规模Elasticsearch集群管理心得
转载:http://elasticsearch.cn/article/110 ElasticSearch目前在互联网公司主要用于两种应用场景,其一是用于构建业务的搜索功能模块且多是垂直领域的搜索,数据 ...
- 050.集群管理-Prometheus+Grafana监控方案
一 Prometheus概述 1.1 Prometheus简介 Prometheus是由SoundCloud公司开发的开源监控系统,是继Kubernetes之后CNCF第2个毕业的项目,在容器和微服务 ...
- Elasticsearch集群管理
ES通过设置[节点的名字]和[集群的名字],就能自动的组织相同集群名字的节点加入到集群中,并使很多的技术对用户透明化. 如果用户想要管理查看集群的状态,可以通过一些REST API来实现. 其他的ES ...
- Elasticsearch集群管理之添加、删除节点
1.问题抛出 1.1 新增节点问题 我的群集具有黄色运行状况,因为它只有一个节点,因此副本保持未分配状态,我想要添加一个节点,该怎么弄? 1.2 删除节点问题 假设集群中有5个节点,我必须在运行时删除 ...
随机推荐
- STL vector的介绍(1)
尝试下翻译STL里面的一些easy和算法.四级过了.六级刚考.顺便练练自己的英语水平.翻译的不好的地方请大神多多不吝赐教哈.方便我改正. 原来均来自:http://www.cplusplus.com/ ...
- 【HDOJ 3652】B-number
[HDOJ 3652]B-number 给一整数n 找<=n的整数中能被13整除且含有13的 数位dp 记忆化! . 一入记忆化深似海. ..再也不想用递推了...发现真的非常好想 仅仅要保证满 ...
- 另外几种Java集合框架具体解释续
另外几种Java集合框架具体解释续 作者:chszs,未经博主同意不得转载.经许可的转载需注明作者和博客主页:http://blog.csdn.net/chszs fastutil库优于Trove库的 ...
- 设计模式-(13)访问者模式 (swift版)
一,概念 访问者模式,是行为型设计模式之一.访问者模式是一种将数据操作与数据结构分离的设计模式,它可以算是 23 中设计模式中最复杂的一个,但它的使用频率并不是很高,大多数情况下,你并不需要使用访问者 ...
- (16)ServletContext详解
1,作用: ServletContext对象 ,叫做Servlet的上下文对象.表示一个当前的web应用环境.一个web应用中只有一 ...
- idea output 悬浮浮动问题
参考:https://www.cnblogs.com/thinkingandworkinghard/p/6306800.html 点这个就ok
- dropZone 回显图片
初始化dropzone的图片信息 var dropVar = this; var mockFile = { name: "myiamge.jpg", //需要显示给用户的图片名 s ...
- 记重大失误(SQLserver数据回滚)ApexSQL
敲了一天代码,脑壳昏,更改数据时忘记加where条件,该数据库又未备份.修改了1800条数据..当时那个着急啊. 各种找解决方法,最后使用ApexSQL Log 完美解决.赞一个 ApexSQL L ...
- Combo Box (组合框)控件的使用方法
Combo Box (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接在文本框里面输入文本 ...
- MySQL中怎么查询一张表的列数
select count(1) from information_schema.columns where table_schema='dbname' and table_name='tbname;