设为首页 收藏本站
查看: 1274|回复: 0

[经验分享] 让我们ElasticSearch作伴,一起潇洒复习~

[复制链接]

尚未签到

发表于 2019-1-29 11:01:28 | 显示全部楼层 |阅读模式



12月15日
即便天气寒冷,飘着雨
跨星空间座无虚席
由袋鼠云、阿里云、elastic中文社区主办
袋鼠云、阿里云、有赞、滴滴的
技术大牛倾囊相授
“ElasticSearch运维技术实践”精彩上演
Now,
温故而知新,一起来回顾吧



干货来啦,别带着它入睡,
赶紧拿小本本记下来吧!


解 惑 篇
在此本萌特别精编了一辑本场沙龙现场讲师和学员的A&Q,分享给大家~
阿里云Elasticsearch实时计算平台实践


Q:使用时一边构建索引一边查询,性能会下降,如何处理?
A:
架构
1)增加clientnode,降低DataNode的CPU开销
2)换更好的硬件,多盘组成RAID或SSD
配置
1)增大translog flush时间间隔
2)增加索引refresh时间
3)调整merge速度,调小index.merge.scheduler.max_thread_count和merge.policy.max_merged_segment,增大merge.policy.segments_per_tier
4)调整mapping,不需要分词的字段不用text改用keyword
具体的还是要根据业务场景去测试和做取舍
Q:ES取消translog还有副本吗?性能提升4倍是指在哪些方面?
A:
elasticbuild是用于离线build,所以不需要副本,依赖的HDFS自身有副本机制;去掉tranlog和内存merge减少IO开销以及网络开销。
Q:写入HDFS的数据,如何恢复到ES?增量如何处理?
A:
在全量结束后会做一个snapshot到OSS上,然后再restore到在线集群。bahamut在拉起全量build任务的时候会记住全量启动的数据时间戳,然后增量任务从记录的时间戳开始补数据。


袋鼠云百亿日志数据下ES性能优化实践
  

Q:5台节点,master节点经常负载较高,两台MI,三台DI,合理吗?
A:
master建议3台以上类似于zk三节点的原理防止脑裂。
Q:索引规划,分片不超过40G,每个node不要超过3个分片,32G的内存配置下,每个分片1Gbuffer,有测试过吗?
A:
分片设置后不可修配置后不要修改?三台服务器最多分片数?
A:改,除非做reindex的操作,建议最多不要超过12个(包括副本分片)


Q:冷热数据处理,怎么做?如何区分冷数据?查询冷数据体验如何提高?
A:
在我们使用日志的场景中,超过3天或7天的数据定义为冷数据,冷数据迁移到大存储的节点(OSS);查询时需要恢复到热节点,恢复有一定的时间。对用户来说有冷热数据存储的概念。
Elasticsearch的索引和集群隔离实践
  

Q:索引是每30S刷新一次,刷新的那一刻rp比较高,如何降低影响?
A:
1)建议把数据做拆分,热数据刷新频率高一点,冷数据刷新频率低一点
2)可以适当看下缩短刷新时间能否平滑毛刺
3)数据变更太频繁的内容考虑做下采样,减少更新次数
Q:多索引查询时怎么提高性能?不同索引mapping不一致,解析response耗时长
A:
1)从查询本身上做优化
2)response在业务层做多线程处理;
3)加缓存,经常查询的数据结果记录在缓存中;
4)执行中断,查询一部分结果就返回,查询高并发性能不行的。
滴滴Elasticsearch Query DSL分析系统
  

Q:mapping优化中对用户使用习惯未知,优化的意义在哪?
A:
ES默认对所有字段建立索引,通过mapping优化,可以自动化的把索引中用户查询不使用的字段不建索引来节省成本。自动化体现在用户新增或者减少字段能被系统自动感知到,从而减少和用户沟通成本。
Q:有哪些用户?查询的索引中不同字段的数据量是不同,此时进行聚合查询怎么办?
A:
滴滴内部使用ES的同学,例如客服,运维和RD。我们会得到查询语句中根据哪个字段进行聚合,另外每个字段基数会由其他服务进行统计,例如根据IP字段进行聚合,由于IP基数过大(count distinct IP)。如果是针对大基数字段进行聚合查询预估消耗内存较大时,就会把这种查询熔断。
Q:还没有数据进来时没有建索引时,是自动生成索引还是动态映射?
A:
每一类数据写入索引前会根据这个索引中索引模板信息进行映射,在索引模板中会定义一些字段对应的类型,例如字符串内容符合date format的字段就会映射成date类型。没有在索引模板中找到的字段其类型由es根据第一次出现这个字段的内容推导,例如字符串自动映射成keyword类型。
Q:复杂的聚合查询如何处理?
A:
聚合查询嵌套不能太深(一般不要超过3层),当然这个跟聚合查询的索引中聚合字段的基数有关,如果字段基数大聚合产生的桶就会有很多,消耗的内存也会很大,需要对消耗内存大的聚合查询语句进行熔断。至于复杂的聚合语句优化,
可以从减少聚合返回的size,合理调整聚合字段顺序,使用date_histogram来代替histogram等。
Q:gateway是自研的吗,是否会考虑开源?
A:
gateway是自研的,后期会开源。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-669098-1-1.html 上篇帖子: ElasticSearch入门介绍之会当凌绝顶(一) 下篇帖子: 将数据从PostgreSQL同步到Elasticsearch的经验总结
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表