Pinterest是一个社交媒体网站,用户可以通过网站或移动应用程序收集,保存和分享各种主题的图像和其他媒体。由于网站的增长,Pinterest需要一个可扩展的数据平台来满足日益增长的数据存储和处理需求。Hadoop是一个流行的开源平台,它被广泛用于大规模数据处理。Pinterest最初使用Hadoop 1.x版本来处理其数据,但随着工作量的增加和数据规模的增加,他们需要更强大的处理能力。在这篇文章中,我们将介绍Pinterest是如何成功地进行大规模Hadoop升级的。
Pinterest的老Hadoop架构采用了分布式计算模式——MapReduce,当时它处理衍生指数和其他业务数据。但随着这个平台的增长,原有的Hadoop系统的性能开始显得不足以处理越来越复杂的数据挖掘和分析任务。为了适应不断增长的数据需求,Pinterest决定升级到Hadoop 2.x构架。这样Pinterest就可以享受新架构的分布式资源分配特性,为用户提供更快、更好、更稳定的服务。
Pinterest的团队采用了一种独特的方法,将旧架构和新架构并行运行。他们选择使用Hadoop YARN集群管理器,利用其支持同时运行和管理多版本和多框架的能力。Pinterest在生产集群上部署了两个版本的Hadoop:Hadoop 1.x和Hadoop 2.x。他们使用两个集群之间的同步方案将数据复制到新集群中。接下来,团队使用Apache Falcon自动化工具在两个Hadoop之间同步数据。这个过程保证了新集群中的数据集完全匹配。
此外,Pinterest将大部分的新处理逻辑放到Hadoop 2.x中处理,而将少数特定的任务留在Hadoop 1.x中处理,以保持稳定性。这样分离数据集会使得 Pinterest不必为需要大量处理的数据集增加更多磁盘,当旧的处理逻辑被迁移时可以直接被废弃。
Pinterest升级后,他们发现整个数据处理过程更加高效、易于维护和预测,并实现了大幅度的性能提升。此外,这个平台还可以更好地支持可扩展性和业务需求的变化。Hadoop新版本带来的特性包括新的YARN架构,可以同时支持多个处理框架运行,支持实时流式数据处理,以及更好的可扩展性和更强大的性能,都是对Pinterest业务的巨大助力。
总之,Pinterest成功地通过将旧的Hadoop版本与新版本并行运行来实现大规模Hadoop的升级。他们的方法经过了严格的测试和优化,保证了数据的准确性和一致性,并且实现了更高的数据处理性能和更好的可扩展性。这个经验对其他组织也有指导意义,帮助他们更高效地支持他们不断增长的需求。