悟空,拿我的打狗棒来

社区日报 第302期 (2018-06-14)

  1. Elastic Stack 6.3重磅发布。 http://t.cn/RBXttvr

  2. Kubernetes EFK 实战。 http://t.cn/RBiiwHR http://t.cn/RBiiGFp

  3. 译文:kafka学习之路。 http://t.cn/RXGeTLz

  4. Google Pub / Sub与ELK Stack集成 http://t.cn/RBii6rQ

活动预告

  1. 6月30日南京meetup参会报名中 https://elasticsearch.cn/m/article/647

  2. 7月21日上海meetup演讲申请中 https://elasticsearch.cn/m/article/655
继续阅读 »
  1. Elastic Stack 6.3重磅发布。 http://t.cn/RBXttvr

  2. Kubernetes EFK 实战。 http://t.cn/RBiiwHR http://t.cn/RBiiGFp

  3. 译文:kafka学习之路。 http://t.cn/RXGeTLz

  4. Google Pub / Sub与ELK Stack集成 http://t.cn/RBii6rQ

活动预告

  1. 6月30日南京meetup参会报名中 https://elasticsearch.cn/m/article/647

  2. 7月21日上海meetup演讲申请中 https://elasticsearch.cn/m/article/655
收起阅读 »

ES5.3聚合内存溢出bug

有以下DSL

{
  "size" : 0,
  "query" : { },
  "_source" : false,
  "aggregations" : {
    "aggData" : {
      "terms" : {
        "field" : "url",
        "size" : 200,
        "min_doc_count" : 1,
        "shard_min_doc_count" : 0,
        "show_term_doc_count_error" : false,
        "order" : [
          {
            "PV" : "desc"
          }
        ]
      },
      "aggregations" : {
        "PV" : {
          "cardinality" : {
            "field" : "userssid"
          }
        }
      }
    }
  }
}

目的是对用户访问的URL进行分组统计,按独立用户数来排序。 执行后,data节点频繁FGC,内存无法回收,随即OOM,然后data节点脱离,集群变为red。 最初以为是cardinality精度问题导致内存使用过多,随即将precision_threshold设置为100,再次执行,内存使用量确实少了很多,但是还是用到GB级别。为了确认是否是cardinality问题,去掉外层聚合,直接执行

"aggregations" : {
        "PV" : {
          "cardinality" : {
            "field" : "userssid"
          }
        }
      }

发现响应非常快,而且内存占用只有KB级别。 再次单独执行外部聚合,发现也非常快,于是猜测是order导致,将order去掉,果然,如丝般顺滑,再也没有OOM。 为了解决这种OOM,首先想到的是熔断器。默认indices.breaker.request.limit配置是60%。改成10%后,触发熔断,集群正常,但是多点几次之后,data还是出现OOM了。 于是逐步调试,发现每执行1次,内存就增加一点,熔断返回后并没有被回收,直到OOM。基本确定是这里的order导致内存泄露了。 就在此时,同事反馈在5.6不会有这个问题,于是去查release note,果然在5.5的版本发现fix了这个问题。问题描述。 这个bug的根本原因是:

terms aggregations at the root level use the global_ordinals execution hint by default.
When all sub-aggregators can be run in breadth_first mode the collected buckets for these sub-aggs are dense (remapped after the initial pruning).
But if a sub-aggregator is not deferrable and needs to collect all buckets before pruning we don't remap global ords and the aggregator needs to deal with sparse buckets.
Most (if not all) aggregators expect dense buckets and uses this information to allocate memories.
This change forces the remap of the global ordinals but only when there is at least one sub-aggregator that cannot be deferred.

解决方案: 1,升级到5.5以上版本;

2,DSL增加"execution_hint":"map",属性。

{
  "size" : 0,
  "query" : { },
  "_source" : false,
  "aggregations" : {
    "aggData" : {
      "terms" : {
        "field" : "url",
        "size" : 200,
"execution_hint":"map",
        "min_doc_count" : 1,
        "shard_min_doc_count" : 0,
        "show_term_doc_count_error" : false,
        "order" : [
          {
            "PV" : "desc"
          }
        ]
      },
      "aggregations" : {
        "PV" : {
          "cardinality" : {
            "field" : "userssid"
          }
        }
      }
    }
  }
}
继续阅读 »

有以下DSL

{
  "size" : 0,
  "query" : { },
  "_source" : false,
  "aggregations" : {
    "aggData" : {
      "terms" : {
        "field" : "url",
        "size" : 200,
        "min_doc_count" : 1,
        "shard_min_doc_count" : 0,
        "show_term_doc_count_error" : false,
        "order" : [
          {
            "PV" : "desc"
          }
        ]
      },
      "aggregations" : {
        "PV" : {
          "cardinality" : {
            "field" : "userssid"
          }
        }
      }
    }
  }
}

目的是对用户访问的URL进行分组统计,按独立用户数来排序。 执行后,data节点频繁FGC,内存无法回收,随即OOM,然后data节点脱离,集群变为red。 最初以为是cardinality精度问题导致内存使用过多,随即将precision_threshold设置为100,再次执行,内存使用量确实少了很多,但是还是用到GB级别。为了确认是否是cardinality问题,去掉外层聚合,直接执行

"aggregations" : {
        "PV" : {
          "cardinality" : {
            "field" : "userssid"
          }
        }
      }

发现响应非常快,而且内存占用只有KB级别。 再次单独执行外部聚合,发现也非常快,于是猜测是order导致,将order去掉,果然,如丝般顺滑,再也没有OOM。 为了解决这种OOM,首先想到的是熔断器。默认indices.breaker.request.limit配置是60%。改成10%后,触发熔断,集群正常,但是多点几次之后,data还是出现OOM了。 于是逐步调试,发现每执行1次,内存就增加一点,熔断返回后并没有被回收,直到OOM。基本确定是这里的order导致内存泄露了。 就在此时,同事反馈在5.6不会有这个问题,于是去查release note,果然在5.5的版本发现fix了这个问题。问题描述。 这个bug的根本原因是:

terms aggregations at the root level use the global_ordinals execution hint by default.
When all sub-aggregators can be run in breadth_first mode the collected buckets for these sub-aggs are dense (remapped after the initial pruning).
But if a sub-aggregator is not deferrable and needs to collect all buckets before pruning we don't remap global ords and the aggregator needs to deal with sparse buckets.
Most (if not all) aggregators expect dense buckets and uses this information to allocate memories.
This change forces the remap of the global ordinals but only when there is at least one sub-aggregator that cannot be deferred.

解决方案: 1,升级到5.5以上版本;

2,DSL增加"execution_hint":"map",属性。

{
  "size" : 0,
  "query" : { },
  "_source" : false,
  "aggregations" : {
    "aggData" : {
      "terms" : {
        "field" : "url",
        "size" : 200,
"execution_hint":"map",
        "min_doc_count" : 1,
        "shard_min_doc_count" : 0,
        "show_term_doc_count_error" : false,
        "order" : [
          {
            "PV" : "desc"
          }
        ]
      },
      "aggregations" : {
        "PV" : {
          "cardinality" : {
            "field" : "userssid"
          }
        }
      }
    }
  }
}
收起阅读 »

社区日报 第301期 (2018-06-13)

1.Elasticsearch 团队开发章程(中文版)
http://t.cn/RBMHmUT 
2.PB级海量数据服务平台架构设计实践
http://t.cn/ROy5UyN 
3.知识库全文检索的最佳实践
http://t.cn/RBM8Mca 
 
活动预告:
1.6月30日南京meetup参会报名中
https://elasticsearch.cn/m/article/647 
2.7月21日上海meetup演讲申请中
https://elasticsearch.cn/m/article/655 
 
编辑:江水
归档:https://elasticsearch.cn/article/665
订阅:https://tinyletter.com/elastic-daily
 
继续阅读 »
1.Elasticsearch 团队开发章程(中文版)
http://t.cn/RBMHmUT 
2.PB级海量数据服务平台架构设计实践
http://t.cn/ROy5UyN 
3.知识库全文检索的最佳实践
http://t.cn/RBM8Mca 
 
活动预告:
1.6月30日南京meetup参会报名中
https://elasticsearch.cn/m/article/647 
2.7月21日上海meetup演讲申请中
https://elasticsearch.cn/m/article/655 
 
编辑:江水
归档:https://elasticsearch.cn/article/665
订阅:https://tinyletter.com/elastic-daily
  收起阅读 »

社区日报 第300期 (2018-06-12)

1.一文了解 Elasticsearch 所有设置项及其默认值。
http://t.cn/RB5c2w3 
2.Elasticsearch 默认分词器与中文分词器比较。
http://t.cn/RB4lLPT 
3.Nginx+Naxsi+Nxapi+Elasticsearch+Kibana安装教程。
http://t.cn/RB4lGaI 

编辑:叮咚光军
归档:https://elasticsearch.cn/article/664 
订阅:https://tinyletter.com/elastic-daily
 
继续阅读 »
1.一文了解 Elasticsearch 所有设置项及其默认值。
http://t.cn/RB5c2w3 
2.Elasticsearch 默认分词器与中文分词器比较。
http://t.cn/RB4lLPT 
3.Nginx+Naxsi+Nxapi+Elasticsearch+Kibana安装教程。
http://t.cn/RB4lGaI 

编辑:叮咚光军
归档:https://elasticsearch.cn/article/664 
订阅:https://tinyletter.com/elastic-daily
  收起阅读 »

社区日报 第299期 (2018-06-11)

1.Elasticsearch 通信模块的分析
http://t.cn/RB4hMr7
2.Elasticsearch的慢查询日志配置。
http://t.cn/RB47F0O
3.使用路由来进一步提高Elasticsearch的检索效率
http://t.cn/RB4zeRZ

编辑:cyberdak
归档:https://elasticsearch.cn/article/663
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1.Elasticsearch 通信模块的分析
http://t.cn/RB4hMr7
2.Elasticsearch的慢查询日志配置。
http://t.cn/RB47F0O
3.使用路由来进一步提高Elasticsearch的检索效率
http://t.cn/RB4zeRZ

编辑:cyberdak
归档:https://elasticsearch.cn/article/663
订阅:https://tinyletter.com/elastic-daily 收起阅读 »

社区日报 第298期 (2018-06-10)

1.Elasticsearch + Hadoop:实时数据搜索和分析的两个最佳选择。
http://t.cn/RBzx228
2.Elasticsearch的SQL解决方案。
http://t.cn/RBzx4sr
3.(自备梯子)优步和Lyft会变得不同吗?
http://t.cn/RBzxty1

编辑:至尊宝
归档:https://elasticsearch.cn/article/662
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1.Elasticsearch + Hadoop:实时数据搜索和分析的两个最佳选择。
http://t.cn/RBzx228
2.Elasticsearch的SQL解决方案。
http://t.cn/RBzx4sr
3.(自备梯子)优步和Lyft会变得不同吗?
http://t.cn/RBzxty1

编辑:至尊宝
归档:https://elasticsearch.cn/article/662
订阅:https://tinyletter.com/elastic-daily 收起阅读 »

highlight 返回来的title 不全 看截图


360截图20180609164613963.jpg

$params = [
'index' => 'soso_*',
'type' => 'links_1',
'body' => [
'query' => [
'match' => [
'title' => $kw
]
],
'highlight' => [
'pre_tags' => '<em>',
'post_tags' => '</em>',
'fields' => [
'title' => new \stdClass()
]
],
]
];
继续阅读 »

360截图20180609164613963.jpg

$params = [
'index' => 'soso_*',
'type' => 'links_1',
'body' => [
'query' => [
'match' => [
'title' => $kw
]
],
'highlight' => [
'pre_tags' => '<em>',
'post_tags' => '</em>',
'fields' => [
'title' => new \stdClass()
]
],
]
];
收起阅读 »

社区日报 第297期 (2018-06-09)

  1. 怎么安全无损的从集群中下线部分节点? http://t.cn/RBzKJvO 

2.老生常谈:ES性能调优 http://t.cn/RBzS0cG 

  1. 基于python使用ES http://t.cn/RBzKP6H 
继续阅读 »
  1. 怎么安全无损的从集群中下线部分节点? http://t.cn/RBzKJvO 

2.老生常谈:ES性能调优 http://t.cn/RBzS0cG 

  1. 基于python使用ES http://t.cn/RBzKP6H 
收起阅读 »

社区日报 第296期 (2018-06-08)

1、Elasticsearch用户视角精确的QPS是什么?
http://t.cn/R1eMNXe
2、Elasticsearch5.3.0 bulk index 性能调优实践
http://t.cn/Rm5uEYw
3、Elasticsearch常用命令备忘录
http://t.cn/R1eJL2Q 

编辑:铭毅天下
归档:https://elasticsearch.cn/article/659
订阅:https://tinyletter.com/elastic-daily
 
继续阅读 »
1、Elasticsearch用户视角精确的QPS是什么?
http://t.cn/R1eMNXe
2、Elasticsearch5.3.0 bulk index 性能调优实践
http://t.cn/Rm5uEYw
3、Elasticsearch常用命令备忘录
http://t.cn/R1eJL2Q 

编辑:铭毅天下
归档:https://elasticsearch.cn/article/659
订阅:https://tinyletter.com/elastic-daily
  收起阅读 »

高薪聘请ES(elasticsearch)搜索研发工程师

微信:13868891931
微信:13868891931

社区日报 第295期 (2018-06-07)

  1. Elasticsearch性能调优。 http://t.cn/R1dGOZB

  2. Kibana之Scripted Fields。 http://t.cn/R1dGH53

  3. 记录一次线上迁库后对ES的数据全量同步。 http://t.cn/R1dGRcf
继续阅读 »
  1. Elasticsearch性能调优。 http://t.cn/R1dGOZB

  2. Kibana之Scripted Fields。 http://t.cn/R1dGH53

  3. 记录一次线上迁库后对ES的数据全量同步。 http://t.cn/R1dGRcf
收起阅读 »

社区日报 第294期 (2018-06-06)

1.Filebeat 源码分析
服务启动 http://t.cn/R1rt77d
数据采集 http://t.cn/R1r5Em1
2. Filebeat 源码流程分析
http://t.cn/R1rt5dX
3. 一步步排查基于业务场景的Elasticsearch难题
http://t.cn/R1rt9oo
编辑:江水
归档:https://elasticsearch.cn/article/656
订阅:https://tinyletter.com/elastic-daily
 
继续阅读 »
1.Filebeat 源码分析
服务启动 http://t.cn/R1rt77d
数据采集 http://t.cn/R1r5Em1
2. Filebeat 源码流程分析
http://t.cn/R1rt5dX
3. 一步步排查基于业务场景的Elasticsearch难题
http://t.cn/R1rt9oo
编辑:江水
归档:https://elasticsearch.cn/article/656
订阅:https://tinyletter.com/elastic-daily
  收起阅读 »

7月21日,周六,Elastic 上海 线下 Meetup [活动结束, PPT已上传]

当当当!
上海的小伙伴们注意啦!
今年的 Elastic 上海 Meetup 活动初步定于 7 月 21 日在 eBay 上海研发中心举行,现在开始征集分享嘉宾,欢迎大家自告奋勇!
活动日程信息:http://meetup.elasticsearch.cn/2018/shanghai.html 
分享报名链接:http://elasticsearch.mikecrm.com/A6QbFvU
参会报名链接:http://elasticsearch.mikecrm.com/fUqiv0T 
 
PPT 查看地址:

 

场地大小有限,大家尽量观看直播,

线上直播注册和【回看】观看入口:

 
Snip20180720_25.png

 

社区活动,重在参与,欢迎大家报名,一起分享交流!
继续阅读 »
当当当!
上海的小伙伴们注意啦!
今年的 Elastic 上海 Meetup 活动初步定于 7 月 21 日在 eBay 上海研发中心举行,现在开始征集分享嘉宾,欢迎大家自告奋勇!
活动日程信息:http://meetup.elasticsearch.cn/2018/shanghai.html 
分享报名链接:http://elasticsearch.mikecrm.com/A6QbFvU
参会报名链接:http://elasticsearch.mikecrm.com/fUqiv0T 
 
PPT 查看地址:

 

场地大小有限,大家尽量观看直播,

线上直播注册和【回看】观看入口:

 
Snip20180720_25.png

 

社区活动,重在参与,欢迎大家报名,一起分享交流! 收起阅读 »

社区日报 第293期 (2018-06-05)

1.在 docker 容器和 kubernetes 上使用 elastic栈监控应用。
http://t.cn/R1ERKJB 
2.大众点评业务高可用对 Elasticsearch 的使用。
http://t.cn/R1ERTAF 
3.Elasticsearch NettyTransport 通信机制详解。
http://t.cn/R1ERRrA 

编辑:叮咚光军
归档:https://elasticsearch.cn/article/654 
订阅:https://tinyletter.com/elastic-daily 
 
继续阅读 »
1.在 docker 容器和 kubernetes 上使用 elastic栈监控应用。
http://t.cn/R1ERKJB 
2.大众点评业务高可用对 Elasticsearch 的使用。
http://t.cn/R1ERTAF 
3.Elasticsearch NettyTransport 通信机制详解。
http://t.cn/R1ERRrA 

编辑:叮咚光军
归档:https://elasticsearch.cn/article/654 
订阅:https://tinyletter.com/elastic-daily 
  收起阅读 »

社区日报 第292期 (2018-06-04)

1.Elasticsearch内核解析 - 查询篇。
http://t.cn/R1HIXKN

2.跨AZ高可用之Elasticsearch实践。
http://t.cn/RQJGPGV

3.kibana timelion 高级数学插件 : mathlion
http://t.cn/R1H6coe 

编辑:cyerdak
归档:https://elasticsearch.cn/article/653
订阅:https://tinyletter.com/elastic-daily
 
继续阅读 »
1.Elasticsearch内核解析 - 查询篇。
http://t.cn/R1HIXKN

2.跨AZ高可用之Elasticsearch实践。
http://t.cn/RQJGPGV

3.kibana timelion 高级数学插件 : mathlion
http://t.cn/R1H6coe 

编辑:cyerdak
归档:https://elasticsearch.cn/article/653
订阅:https://tinyletter.com/elastic-daily
  收起阅读 »