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个节点,我必须在运行时删除 ...
随机推荐
- 2016/2/26 jQuery的技术 1,安装 2,语法选择器$ 事件触发 3,常用jQuery函数
在<网页制作Dreamweaver(悬浮动态分层导航)>中,运用到了jQuery的技术,轻松实现了菜单的下拉.显示.隐藏的效果,不必再用样式表一点点地修改,省去了很多麻烦,那么jQuery ...
- linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方案
linux输入yum后提示: -bash: /usr/bin/yum: No such file or directory的解决方案 今天在安装程序时,发现有一个插件未安装,我就随手敲了一个命令,看都 ...
- XMU 1608 nc与加法进位 【二分】
1608: nc与加法进位 Time Limit: 2000 MS Memory Limit: 128 MBSubmit: 29 Solved: 27[Submit][Status][Web Bo ...
- USACO26 moofest 奶牛集会(归并排序)
听说这题也是bzoj的3378&&poj1990,然而没有权限号交不了..poj懒得登. 题意:有n个奶牛,他们相互发出max(a[i].v,a[j].v)*abs(a[i].p-a[ ...
- sphinx索引部分源码续——过程:连接到CSphSource对应的sql数据源,通过fetch row取其中一行,然后解析出field,分词,获得wordhit,最后再加入到CSphSource的Hits里
后面就是初始化一些存储结构,其中重点说下缓存出来的几个临时文件分别的作用.结尾时tmp0的存储的是被上锁的Index,有些Index正在被查询使用 故上锁.tmp1,即对应将来生成的spp文件,存储词 ...
- android 设置textview中划线效果
textView.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线 textView.getPaint().setAntiAlias( ...
- 并不对劲的bzoj3529:loj2193:p3312:[SDOI2014]数表
题目大意 定义函数\(f(x)=\sum_{k|x}k\) \(t\)(\(t\leq2*10^4\))组询问,每组给定\(n,m,a\)(\(n,m\leq10^5,a\leq10^9\)),求: ...
- silverlight 子UserControl获取父UserControl
文章转载自: [Silverlight] Silverlight中访问父对象 http://bbs.blueidea.com/thread-2964806-1-1.html 当前一个需求是一个User ...
- hihoCoder 扩展二进制数
明天就要去实验室干活了....下次再打题不知是何时.... 题目链接: http://hihocoder.com/contest/hihointerview11/problem/2 这题不难,一开始想 ...
- 30行JavaScript代码实现一个比特币量化策略
精简极致的均线策略 30行打造一个正向收益系统 原帖地址:https://www.fmz.com/bbs-topic-new/262 没错!你听的没错是30行代码!仅仅30行小编我习惯先通篇来看看 代 ...