百度Elasticsearch大数据分析实践

4星 · 超过85%的资源 需积分: 16 66 下载量 89 浏览量 更新于2024-07-21 5 收藏 2.09MB PPTX 举报
"百度Elasticsearch实践" 在本文中,我们将探讨百度如何实践Elasticsearch,并分享在大数据分析实践中遇到的问题和经验。Elasticsearch(简称ES)是一款基于Lucene的开源搜索引擎,支持全文搜索、结构化数据分析和文本数据分析等多种应用场景。 背景介绍 ---------- 在2013年10月,百度开始使用Elasticsearch,目前已经覆盖了20多个业务线,包括casio、云分析、网盟、预测、文库、直达号、钱包、风控等。单集群每天导入30TB+数据,总共每天60TB+,单集群最大100台机器,200个ES节点。共使用近300台机器,启动500+ES节点。 典型应用场景一:云分析业务 --------------------------- 在云分析业务中,我们使用Rsyslog、Kafka、LogStash、Elasticsearch API、App、Web、Mysql、OS、Hadoop、Client、HDFS、Hive等技术栈。主要挑战包括大量文本数据的分词及建立索引、数万用户、索引分片过多、元数据过大、fielddata占用大量内存、容易OOM、任意多维度关键词聚合查询秒级返回等。 解决方案包括根据索引大小分别设置分片数、充分利用type合并索引、除分词字段外,其他字段全部存储为docvalue、masternode、datanode、clientnode分离部署、保守设置fielddata内存占用软硬限、及其他内存占用限制、设置fielddata有效期等。 典型应用场景二:casio业务 --------------------------- 在casio业务中,我们面临着字段不确定、数据量较大、每天30TB+数据、24小时不间断导入、小时级任意维度聚合分析毫秒级返回、天级秒级返回、集群规模较大、机器较旧、宕机为常态等挑战。 解决方案包括使用动态mapping自动匹配未知字段、数据分发到所有节点批量导入、全部使用docvalue存储、减少内存消耗、使用模板、分天级等。 Elasticsearch在百度的使用 --------------------------- Elasticsearch在百度的使用定位为OLAP Reporting Multidimensional Analysis SQL DB Palo Text Analysis Search DB。ES在百度的使用包括大数据分析实践、云分析业务、casio业务等多种应用场景。 结论 ---------- 在本文中,我们分享了百度Elasticsearch实践的经验和挑战,包括云分析业务和casio业务两个典型应用场景。我们也探讨了ES在百度的使用、挑战和解决方案,希望能够为读者提供有价值的参考。