使用 nohup 或 disown 如果你要让某个进程运行在后台。

elasticsearch 实现字符串截取再进行分组

Elasticsearchlaoyang360 回复了问题 • 4 人关注 • 2 个回复 • 7859 次浏览 • 2017-11-08 12:29 • 来自相关话题

Elasticsearch如何多个索引进行联合查询?

Elasticsearchlaoyang360 回复了问题 • 3 人关注 • 1 个回复 • 12899 次浏览 • 2017-11-08 12:22 • 来自相关话题

elasticsearch中的mapping有什么用?哪位大神能给解释下,具体怎么用?

Elasticsearchlaoyang360 回复了问题 • 2 人关注 • 1 个回复 • 1647 次浏览 • 2017-11-08 12:21 • 来自相关话题

社区日报 第94期 (2017-11-08)

社区日报千夜 发表了文章 • 0 个评论 • 1410 次浏览 • 2017-11-08 10:24 • 来自相关话题

1. 剖析 Elasticsearch 集群系列
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搜索对象子类属性?

回复

Elasticsearch13656185373 发起了问题 • 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 ,点击右上角的【创业公司优惠申请】链接填写相关信息即可!

搜索大字段文档的性能问题

Elasticsearchlaoyang360 回复了问题 • 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

ElasticsearchWen Tan 回复了问题 • 4 人关注 • 2 个回复 • 2722 次浏览 • 2017-11-07 10:14 • 来自相关话题

无法更改系统的文件描述符数量

Elasticsearchyangjiajun111 回复了问题 • 3 人关注 • 3 个回复 • 1982 次浏览 • 2017-11-07 09:52 • 来自相关话题

社区日报 第93期 (2017-11-07)

社区日报kimichen123 发表了文章 • 0 个评论 • 2066 次浏览 • 2017-11-07 09:52 • 来自相关话题

1.使用ELK监控HTTP服务的一套完整解决方案。
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有连接数限制吗

Elasticsearcheric930721 回复了问题 • 3 人关注 • 2 个回复 • 7887 次浏览 • 2017-11-07 09:34 • 来自相关话题

ui settings Elasticsearch plugin is red

回复

Kibanahuangyingchun 回复了问题 • 1 人关注 • 1 个回复 • 12776 次浏览 • 2017-11-07 08:51 • 来自相关话题

使用es事大家都是如何清除历史数据的

Elasticsearchtruman.p.du 回复了问题 • 5 人关注 • 2 个回复 • 19648 次浏览 • 2017-11-07 08:26 • 来自相关话题

ElasticSearch 集群监控

Elasticsearchzhisheng 发表了文章 • 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_nodesnumber_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/)