elasticsearch 实现字符串截取再进行分组
Elasticsearch • laoyang360 回复了问题 • 4 人关注 • 2 个回复 • 7859 次浏览 • 2017-11-08 12:29
Elasticsearch如何多个索引进行联合查询?
Elasticsearch • laoyang360 回复了问题 • 3 人关注 • 1 个回复 • 12899 次浏览 • 2017-11-08 12:22
elasticsearch中的mapping有什么用?哪位大神能给解释下,具体怎么用?
Elasticsearch • laoyang360 回复了问题 • 2 人关注 • 1 个回复 • 1647 次浏览 • 2017-11-08 12:21
社区日报 第94期 (2017-11-08)
社区日报 • 千夜 发表了文章 • 0 个评论 • 1410 次浏览 • 2017-11-08 10:24
Part1 http://t.cn/R5eAIJz
Part2 http://t.cn/RtCo3Sw
Part3 http://t.cn/Rt0avHj
2. Siddontang 大神的 Elasticsearch学习笔记(在 github 上,版本不是很新,仅供参考)
http://t.cn/Rl0kKfd
3. Elasticsearch 数据备份,恢复,及迁移(2015年文章)
http://t.cn/RL3YX6g
编辑:江水
归档:https://elasticsearch.cn/article/360
订阅:https://tinyletter.com/elastic-daily
如何用spring-data-elasticsearch搜索对象子类属性?
回复Elasticsearch • 13656185373 发起了问题 • 1 人关注 • 0 个回复 • 2450 次浏览 • 2017-11-07 22:00
Elastic XPack 对初创公司开放优惠申请啦!
资讯动态 • elastictech 发表了文章 • 1 个评论 • 3475 次浏览 • 2017-11-07 18:09
如果你是创业公司的员工,并且你们在使用 elastic 的产品解决自己的业务问题,比如 elasticsearch、kibana、logstash 等,又对 X-Pack 很感兴趣,现在可以申请初创公司优惠价格了,真的很优惠,走过路过不要错过!
初创公司定义为:
1. 公司人数50人以内
2. 年销售额500万以内
3. 注册资金2500万以内。
申请方式为:
访问 http://elastictech.cn ,点击右上角的【创业公司优惠申请】链接填写相关信息即可!
如果你是创业公司的员工,并且你们在使用 elastic 的产品解决自己的业务问题,比如 elasticsearch、kibana、logstash 等,又对 X-Pack 很感兴趣,现在可以申请初创公司优惠价格了,真的很优惠,走过路过不要错过!
初创公司定义为:
1. 公司人数50人以内
2. 年销售额500万以内
3. 注册资金2500万以内。
申请方式为:
访问 http://elastictech.cn ,点击右上角的【创业公司优惠申请】链接填写相关信息即可!
搜索大字段文档的性能问题
Elasticsearch • laoyang360 回复了问题 • 4 人关注 • 2 个回复 • 2144 次浏览 • 2017-11-07 15:31
【京东商城】ES高级工程师
求职招聘 • whh32 发表了文章 • 2 个评论 • 5221 次浏览 • 2017-11-07 13:53
薪资待遇:25k ~ 40k
工作内容:
1、开发、维护ES及相应管理后台
2、ElasticSearch集群的配置管理及优化
3、个性化功能及插件开发。
职位要求:
1、本科以上学历,4年以上工作经验。
2、精通Java,熟悉各种中间件技术及常用框架。
3、熟悉Elasticsearch,有相应开发维护经验者优先。
京东正大力推进Elasticsearch的使用场景,目前已有数千个实例,每日新增数据百T,日查询量千亿级别,技术氛围好,发展潜力大。欢迎您的加入~
欢迎投递简历至:wanghanghang@jd.com
薪资待遇:25k ~ 40k
工作内容:
1、开发、维护ES及相应管理后台
2、ElasticSearch集群的配置管理及优化
3、个性化功能及插件开发。
职位要求:
1、本科以上学历,4年以上工作经验。
2、精通Java,熟悉各种中间件技术及常用框架。
3、熟悉Elasticsearch,有相应开发维护经验者优先。
京东正大力推进Elasticsearch的使用场景,目前已有数千个实例,每日新增数据百T,日查询量千亿级别,技术氛围好,发展潜力大。欢迎您的加入~
欢迎投递简历至:wanghanghang@jd.com
ik分词 maxword的slop
Elasticsearch • Wen Tan 回复了问题 • 4 人关注 • 2 个回复 • 2722 次浏览 • 2017-11-07 10:14
无法更改系统的文件描述符数量
Elasticsearch • yangjiajun111 回复了问题 • 3 人关注 • 3 个回复 • 1982 次浏览 • 2017-11-07 09:52
社区日报 第93期 (2017-11-07)
社区日报 • kimichen123 发表了文章 • 0 个评论 • 2066 次浏览 • 2017-11-07 09:52
http://t.cn/RloiI8o
2.用elastic stack来分析下你的redis slowlog
http://t.cn/Rlo6dQu
3.ES分片recovery 流程分析与速度优化
http://t.cn/RloJr8Q
编辑:叮咚光军
归档:https://elasticsearch.cn/article/357
订阅:https://tinyletter.com/elastic-daily
transportClient有连接数限制吗
Elasticsearch • eric930721 回复了问题 • 3 人关注 • 2 个回复 • 7887 次浏览 • 2017-11-07 09:34
ui settings Elasticsearch plugin is red
回复Kibana • huangyingchun 回复了问题 • 1 人关注 • 1 个回复 • 12776 次浏览 • 2017-11-07 08:51
使用es事大家都是如何清除历史数据的
Elasticsearch • truman.p.du 回复了问题 • 5 人关注 • 2 个回复 • 19648 次浏览 • 2017-11-07 08:26
ElasticSearch 集群监控
Elasticsearch • zhisheng 发表了文章 • 3 个评论 • 10201 次浏览 • 2017-11-07 00:41
原文地址:http://www.54tianzhisheng.cn/2 ... rics/
![](http://ohfk1r827.bkt.clouddn.com/cb5.jpeg-1)
最近在做 ElasticSearch 的信息(集群和节点)监控,特此稍微整理下学到的东西。这篇文章主要介绍集群的监控。
要监控哪些 ElasticSearch metrics
![](https://datadog-prod.imgix.net ... %3Dmax)
Elasticsearch 提供了大量的 Metric,可以帮助您检测到问题的迹象,在遇到节点不可用、out-of-memory、long garbage collection times 的时候采取相应措施。但是指标太多了,有时我们并不需要这么多,这就需要我们进行筛选。
集群健康
一个 Elasticsearch 集群至少包括一个节点和一个索引。或者它 可能有一百个数据节点、三个单独的主节点,以及一小打客户端节点——这些共同操作一千个索引(以及上万个分片)。
不管集群扩展到多大规模,你都会想要一个快速获取集群状态的途径。Cluster Health
API 充当的就是这个角色。你可以把它想象成是在一万英尺的高度鸟瞰集群。它可以告诉你安心吧一切都好,或者警告你集群某个地方有问题。
让我们执行一下 cluster-health
API 然后看看响应体是什么样子的:
<br /> GET _cluster/health<br />
和 Elasticsearch 里其他 API 一样,cluster-health
会返回一个 JSON 响应。这对自动化和告警系统来说,非常便于解析。响应中包含了和你集群有关的一些关键信息:
json<br /> {<br /> "cluster_name": "elasticsearch_zach",<br /> "status": "green",<br /> "timed_out": false,<br /> "number_of_nodes": 1,<br /> "number_of_data_nodes": 1,<br /> "active_primary_shards": 10,<br /> "active_shards": 10,<br /> "relocating_shards": 0,<br /> "initializing_shards": 0,<br /> "unassigned_shards": 0<br /> }<br />
响应信息中最重要的一块就是 status
字段。状态可能是下列三个值之一 :
| status | 含义 |
| :----: | :--------------------------------------: |
| green | 所有的主分片和副本分片都已分配。你的集群是 100% 可用的。 |
| yellow | 所有的主分片已经分片了,但至少还有一个副本是缺失的。不会有数据丢失,所以搜索结果依然是完整的。不过,你的高可用性在某种程度上被弱化。如果 更多的 分片消失,你就会丢数据了。把 yellow 想象成一个需要及时调查的警告。 |
| red | 至少一个主分片(以及它的全部副本)都在缺失中。这意味着你在缺少数据:搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常。 |
number_of_nodes
和number_of_data_nodes
这个命名完全是自描述的。active_primary_shards
指出你集群中的主分片数量。这是涵盖了所有索引的汇总值。active_shards
是涵盖了所有索引的所有分片的汇总值,即包括副本分片。relocating_shards
显示当前正在从一个节点迁往其他节点的分片的数量。通常来说应该是 0,不过在 Elasticsearch 发现集群不太均衡时,该值会上涨。比如说:添加了一个新节点,或者下线了一个节点。initializing_shards
是刚刚创建的分片的个数。比如,当你刚创建第一个索引,分片都会短暂的处于initializing
状态。这通常会是一个临时事件,分片不应该长期停留在initializing
状态。你还可能在节点刚重启的时候看到initializing
分片:当分片从磁盘上加载后,它们会从initializing
状态开始。unassigned_shards
是已经在集群状态中存在的分片,但是实际在集群里又找不着。通常未分配分片的来源是未分配的副本。比如,一个有 5 分片和 1 副本的索引,在单节点集群上,就会有 5 个未分配副本分片。如果你的集群是red
状态,也会长期保有未分配分片(因为缺少主分片)。
集群统计
集群统计信息包含 集群的分片数,文档数,存储空间,缓存信息,内存作用率,插件内容,文件系统内容,JVM 作用状况,系统 CPU,OS 信息,段信息。
查看全部统计信息命令:
<br /> curl -XGET 'http://localhost:9200/_cluster/stats?human&pretty'<br />
返回 JSON 结果:
json<br /> {<br /> "timestamp": 1459427693515,<br /> "cluster_name": "elasticsearch",<br /> "status": "green",<br /> "indices": {<br /> "count": 2,<br /> "shards": {<br /> "total": 10,<br /> "primaries": 10,<br /> "replication": 0,<br /> "index": {<br /> "shards": {<br /> "min": 5,<br /> "max": 5,<br /> "avg": 5<br /> },<br /> "primaries": {<br /> "min": 5,<br /> "max": 5,<br /> "avg": 5<br /> },<br /> "replication": {<br /> "min": 0,<br /> "max": 0,<br /> "avg": 0<br /> }<br /> }<br /> },<br /> "docs": {<br /> "count": 10,<br /> "deleted": 0<br /> },<br /> "store": {<br /> "size": "16.2kb",<br /> "size_in_bytes": 16684,<br /> "throttle_time": "0s",<br /> "throttle_time_in_millis": 0<br /> },<br /> "fielddata": {<br /> "memory_size": "0b",<br /> "memory_size_in_bytes": 0,<br /> "evictions": 0<br /> },<br /> "query_cache": {<br /> "memory_size": "0b",<br /> "memory_size_in_bytes": 0,<br /> "total_count": 0,<br /> "hit_count": 0,<br /> "miss_count": 0,<br /> "cache_size": 0,<br /> "cache_count": 0,<br /> "evictions": 0<br /> },<br /> "completion": {<br /> "size": "0b",<br /> "size_in_bytes": 0<br /> },<br /> "segments": {<br /> "count": 4,<br /> "memory": "8.6kb",<br /> "memory_in_bytes": 8898,<br /> "terms_memory": "6.3kb",<br /> "terms_memory_in_bytes": 6522,<br /> "stored_fields_memory": "1.2kb",<br /> "stored_fields_memory_in_bytes": 1248,<br /> "term_vectors_memory": "0b",<br /> "term_vectors_memory_in_bytes": 0,<br /> "norms_memory": "384b",<br /> "norms_memory_in_bytes": 384,<br /> "doc_values_memory": "744b",<br /> "doc_values_memory_in_bytes": 744,<br /> "index_writer_memory": "0b",<br /> "index_writer_memory_in_bytes": 0,<br /> "version_map_memory": "0b",<br /> "version_map_memory_in_bytes": 0,<br /> "fixed_bit_set": "0b",<br /> "fixed_bit_set_memory_in_bytes": 0,<br /> "file_sizes": {}<br /> },<br /> "percolator": {<br /> "num_queries": 0<br /> }<br /> },<br /> "nodes": {<br /> "count": {<br /> "total": 1,<br /> "data": 1,<br /> "coordinating_only": 0,<br /> "master": 1,<br /> "ingest": 1<br /> },<br /> "versions": [<br /> "5.6.3"<br /> ],<br /> "os": {<br /> "available_processors": 8,<br /> "allocated_processors": 8,<br /> "names": [<br /> {<br /> "name": "Mac OS X",<br /> "count": 1<br /> }<br /> ],<br /> "mem" : {<br /> "total" : "16gb",<br /> "total_in_bytes" : 17179869184,<br /> "free" : "78.1mb",<br /> "free_in_bytes" : 81960960,<br /> "used" : "15.9gb",<br /> "used_in_bytes" : 17097908224,<br /> "free_percent" : 0,<br /> "used_percent" : 100<br /> }<br /> },<br /> "process": {<br /> "cpu": {<br /> "percent": 9<br /> },<br /> "open_file_descriptors": {<br /> "min": 268,<br /> "max": 268,<br /> "avg": 268<br /> }<br /> },<br /> "jvm": {<br /> "max_uptime": "13.7s",<br /> "max_uptime_in_millis": 13737,<br /> "versions": [<br /> {<br /> "version": "1.8.0_74",<br /> "vm_name": "Java HotSpot(TM) 64-Bit Server VM",<br /> "vm_version": "25.74-b02",<br /> "vm_vendor": "Oracle Corporation",<br /> "count": 1<br /> }<br /> ],<br /> "mem": {<br /> "heap_used": "57.5mb",<br /> "heap_used_in_bytes": 60312664,<br /> "heap_max": "989.8mb",<br /> "heap_max_in_bytes": 1037959168<br /> },<br /> "threads": 90<br /> },<br /> "fs": {<br /> "total": "200.6gb",<br /> "total_in_bytes": 215429193728,<br /> "free": "32.6gb",<br /> "free_in_bytes": 35064553472,<br /> "available": "32.4gb",<br /> "available_in_bytes": 34802409472<br /> },<br /> "plugins": [<br /> {<br /> "name": "analysis-icu",<br /> "version": "5.6.3",<br /> "description": "The ICU Analysis plugin integrates Lucene ICU module into elasticsearch, adding ICU relates analysis components.",<br /> "classname": "org.elasticsearch.plugin.analysis.icu.AnalysisICUPlugin",<br /> "has_native_controller": false<br /> },<br /> {<br /> "name": "ingest-geoip",<br /> "version": "5.6.3",<br /> "description": "Ingest processor that uses looksup geo data based on ip adresses using the Maxmind geo database",<br /> "classname": "org.elasticsearch.ingest.geoip.IngestGeoIpPlugin",<br /> "has_native_controller": false<br /> },<br /> {<br /> "name": "ingest-user-agent",<br /> "version": "5.6.3",<br /> "description": "Ingest processor that extracts information from a user agent",<br /> "classname": "org.elasticsearch.ingest.useragent.IngestUserAgentPlugin",<br /> "has_native_controller": false<br /> }<br /> ]<br /> }<br /> }<br />
内存使用和 GC 指标
在运行 Elasticsearch 时,内存是您要密切监控的关键资源之一。 Elasticsearch 和 Lucene 以两种方式利用节点上的所有可用 RAM:JVM heap 和文件系统缓存。 Elasticsearch 运行在Java虚拟机(JVM)中,这意味着JVM垃圾回收的持续时间和频率将成为其他重要的监控领域。
上面返回的 JSON监控的指标有我个人觉得有这些:
- nodes.successful
- nodes.failed
- nodes.total
- nodes.mem.used_percent
- nodes.process.cpu.percent
- nodes.jvm.mem.heap_used
可以看到 JSON 文件是很复杂的,如果从这复杂的 JSON 中获取到对应的指标(key)的值呢,这里请看文章 :[JsonPath —— JSON 解析神器](http://www.54tianzhisheng.cn/2017/10/13/JsonPath/)
最后
这里主要讲下 ES 集群的一些监控信息,有些监控指标是个人觉得需要监控的,但是具体情况还是得看需求了。下篇文章主要讲节点的监控信息。转载请注明地址:[http://www.54tianzhisheng.cn/2 ... rics/](http://www.54tianzhisheng.cn/2 ... trics/)
参考资料
1、[How to monitor Elasticsearch performance](https://www.datadoghq.com/blog ... trics/)
2、[ElasticSearch 性能监控](http://www.oneapm.com/ci/elasticsearch.html)
3、[cluster-health](https://www.elastic.co/guide/e ... h.html)
4、[cluster-stats](https://www.elastic.co/guide/e ... s.html)
相关阅读
1、[Elasticsearch 默认分词器和中分分词器之间的比较及使用方法](http://www.54tianzhisheng.cn/2 ... yzers/)
2、[全文搜索引擎 Elasticsearch 集群搭建入门教程](http://www.54tianzhisheng.cn/2 ... stall/)