全面剖析eBay的Hadoop集群应用及大数据管理

网友投稿 1119 2022-10-17

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

全面剖析eBay的Hadoop集群应用及大数据管理

eBay, 全球最大的在线交易平台,由程序员Pierre Omidyar于1995年劳动节周末在美国创立,起初叫AuctionWeb,于1997年7月正式改名为eBay,今年九月将迎来其20周年纪念。

eBay第一笔交易是一只破损的激光笔,成交价14.83美元,Pierre主动联系买家以确信其知道这是一只破损的激光笔,而买家则回复“我是一个破损激光笔收藏家”。从此,eBay 20年的发展正式开始了,带领了电子商务产业的极速成长,如今,eBay已经成为全球最大的在线交易网站,买家分布于全球190多个国家,超过2500万活跃卖家,1.57亿活跃买家,8亿活跃商品,通过Connected Commerce连接着全球各地的买家和买家,2014年产生超过2550亿美元的GMV,其中来自移动端的GMV超过280亿美元。据统计,在美国每五秒售出一个手袋,在澳大利亚每分钟通过移动端售出一双鞋,在德国每10分钟通过移动端售出一辆汽车或卡车。

eBay目前的大数据平台分为三层,数据整合层:负责数据获取,处理及清洗等ETL工作,包括批处理及实时处理能力,包括相关的商业产品和开源产品;数据平台层:主要由传统数据仓库(EDW),基于Teradata集群,总容量超过10PB;奇点(Singularity),存放半结构化及深层次结构化数据存储,总容量超过36PB;以及Hadoop集群,总容量超过100PB;数据访问层:通过各种工具,平台为业务用户和分析师提供访问和分析相关数据的能力,包括各种商业工具,开源产品及自研的各种平台等。本文将着重介绍eBay在相关领域的发展,平台及未来发展趋势。

Connect with Hadoop

eBay最早的Hadoop应用是在eBay研究实验室(eBay Research Lab, eRL)构建,主要用作日志分析,以期提高每天的日志处理速度。最初的版本是0.18.2,4个节点,存储并处理约几百GB的日志,最大的处理能力为44个Map。

随后,eBay搜索团队构建了10个节点的集群开始了Hadoop在eBay搜索领域的发展,并在2012年上线了基于HBase的搜索平台:Cassini。

基础架构的创新主导了Hadoop 的进化,从最初的基于HDFS和MapReduce的批处理应用不断演变,第一代的Hadoop提供了灵活和可扩展的数据结构和处理能力,并在大数据兴起之时满足了公司各种大小数据处理需求提供了民主化需求。然而毕竟其只是第一步,有着各种限制,如果将其对比于操作系统的话, 第一代Hadoop就如操作系统和应用,例如记事本捆绑在一起,且仅有一个应用,即MapReduce。然而随之而来的大量任务导致了调度瓶颈,从而促成了YARN(Yet Another Resource Negotiator)项目的成立和发展,其解决了JobTracker在超大规模集中成为瓶颈等问题,并支持各种应用通过YARN来进行资源调度和管理从而将Hadoop带入了下一个时代,

下一代的Hadoop取得了巨大的跃进,从面向批处理到提供交互式的处理能力。并提供了战略性的决定以支持独立的执行模式,例如MapReduce可以作为YARN上的一个应用运行。从此,通过YARN,Hadoop变成一个真正的数据操作系统。

2. 分层存储

由此分析,将不同热度的数据存放在同一个集群,使用相同的计算和存储资源则变得越来越有问题,随着时间的增长,冷数据越来越多,将占据宝贵的存储和计算资源,而当有更多热数据需要进来或者作大量计算的时候,相应的存储变成了瓶颈,很多其他公司甚至提到了删除低价值数据等做法。在管理和运维超大Hadoop集群时如何处理不同热度的数据成为非常迫切的需求和现实挑战。

分层存储已经在eBay最大 Hadoop集群上使用,该集群拥有40PB的存储,我们为之添加了额外的10PB存储,每个节点附带220TB容量,由此将Warm、Cold及Frozen数据集逐步进行迁移。而由于仅需有限的计算能力,这些节点的每GB成本比其他节点便宜4倍左右。后续,eBay将持续在这方面进行研究和投入,例如SSD存储等。

3. 监控、告警及自动化运维

Eagle主要由基础的核心框架以及针对不同应用领域的诸多app组成,专注于解决大数据时代大型分布式系统自身监控这个复杂的大数据问题,具有高扩展性、高实时性,以及高可用性等特点,同时支持使用机器学习为复杂情况提供预测分析。

轻量级分布式流处理框架:以DAG为基础模型对通用流处理范式进行抽象,在开发期用户只需基于DSL API定义监控程序的流式处理逻辑,运行期再选择实际物理执行环境,默认支持单进程和Storm,同时也支持对于其他执行环境的扩展,比如Spark Streaming 或者 Flink等。

实时流聚合引擎:提供简单易用的实时流聚合规则定义语法,元数据驱动,动态部署,实现线性扩展的实时监控数据流聚合。

分布式Policy引擎:分布式实时预警规则执行引擎,提供类SQL的描述性规则定义语法以及机器学习自动等多种扩展,支持预警规则的动态加载和分区。

存储和查询框架:通用监控数据存储框架,可用于存储和查询日志、指标、警报、事件等多种类型数据,默认支持HBase,并针对HBase进行多种优化和扩展,比如coprocesser,二级索引以及分区等,也支持其他存储类型的扩展比如RDBMS等,并提供通用的ORM, REST API以及易用强大的类SQL查询语法。

可定制化监控报表:提供类Notebook的交互式实时可视化分析,也支持进一步选取部分图标,并定义布局保存为dashboard以供分享或者持续监控。

同时结合机器学习模型,基于任务分布或指标变化等协同预测任务或者服务器节点等可能潜在的异常,并集成Remediation系统对系统进行自动修复。同时,针对异常用户行为,危险操作等,开发了Eagle DAM(Data Activities Monitoring)的安全监控应用,通过自定义策略及机器学习模型,对关键数据,操作等进行监控和报警,防范于未然。

4. 在线交互分析

Apache Kylin通过映射Hive中星型结构的表,由建模者定义相关维度和度量及其他设置而生成元数据,构建引擎基于元数据自动生成相关的Hive查询,一系列的MapReduce 任务及HBase操作,从而将数据从Hive中读出并进行预先计算,将结果存放到HBase。之后,相同数据模型的查询都将直接读取已经被计算好的存放于HBase中的数据,从而实现秒级甚至亚秒级查询延迟。

另外,对于Cube引擎也引入了新的算法,实测结果表明能够提供一倍以上的构建速度,并大大降低对系统资源的要求。此外,我们对Spark也投入了相关的研究,第一版的Spark Cubing引擎业以完成并准备上线实测。

5. 数据生态

以上简要介绍了eBay最近几年在大数据平台方面的发展和主要实践,基础平台的发展和建设离不开用户,合作伙伴以及管理层帮助和指导,在这个过程中,也逐渐构建起基于Hadoop及企业级数据仓库的数据生态,各个业务单位,分析团队利用相关平台和数据为支持极速变化的业务和快速增长的数据提供丰富的分析和决策支持,共同构建eBay的大数据生态。

连接每个人

通过大数据平台及应用,eBay能为买家和卖家提供更加良好的用户体验和服务,不断满足日益变化的市场和环境,并通过创新的技术来降低对环境的影响和依赖。今天,eBay知道你,明天,eBay将理解你并连接你与未来。

eBay的秘密武器:用大数据激发购买欲eBay上活跃着180万买家和卖家,网站每天要产生大量的数据。在任何给定的时间点,会有大约350万件商品上市销售,通过eBay的拍卖搜索引擎每天有超过250万次查询。eBay搜索平台副总裁Hugh Williams说,eBay的Hadoop集群和Teradata设备中通常保存有10PB的原始数据。在线拍卖网站eBay使用大数据的诸多功能,例如衡量网站性能和检测欺诈。但他们收集大量数据的更有趣的用途之一,是促使用户在网站上购买更多的商品。

虽然eBay无法强制用户购买他们遇到的每一款产品,但eBay充分利用大数据的优势进行大力促销。做法之一就是优化搜索引擎和搜索结果,通过收集到的数据分析用户的行为模式,对结果做出调整。

“如果时光倒流几年,在eBay使用搜索引擎,你可能会发现它太‘字面’了,”威廉姆斯说,“有些事情你可以向搜索引擎表达,它会从字面上找到用户所需要的信息,但它并没有真正理解用户的意图。”

“我们一直在努力使我们的搜寻引擎更直观。”例如,通过使用大数据,eBay发现如果用户想要购买一个Pilzlampe,这是一种有收藏价值的德国蘑菇灯,当他们在eBay搜索引擎中输入“pilz lampe”时更可能进行购买,因为这样输入会有更多的结果。

在搜索引擎中,简单地在一个词中间加一个空格键,eBay就可以通过网站提高销售的机会。有了这样的信息,eBay通过其搜索引擎改变和重写了用户的搜索查询,添加了同义词和替代性条款,以便带来更多的相关结果。

不仅如此,eBay通过使用大数据对以下问题做出预测:列出的产品是否会卖出,会卖什么价钱,这会对拍卖网站的搜索引擎产生多大的影响。

所有这一切都可以增加用户购买的可能性。

Wlilliams认为,塑造的搜索查询方式的实施因素是有风险的。“实现一个因素需要几个月的工程,而且有非常高的风险,因为我们不知道在帮助我们的客户寻找项目的时候,它对客户是否真的有用,”他说。这就是为什么eBay通常在网站上运行一些测试,得到用户的样本组来衡量响应。

另一个挑战是将搜索查询的环境考虑在内。一个例子是,如果用户查找“GeelongCats”,eBay的搜索引擎可能只是将“Cat”作为关键字,并在宠物类里搜索 ——当用户是搜索运动商品时这没有太大用处。

Williams表示:“在我们的掌控范围内有可能出现非常微妙的问题,所以我们需要数据供科学家研究这些问题。”

上一篇:SaltStack 重大漏洞通告
下一篇:当当网的内部框架开源策略案例分享
相关文章

 发表评论

暂时没有评论,来抢沙发吧~