基于Google Dataproc+Alluxio加速本地Hadoop数据湖计算处理

很多公司将他们的数据存储在私有集群环境的Hadoop分布式文件系统(HDFS) 中。随着存储数据量的增长以及来自Apache Spark, Presto, Apache Hive等分析框架之上的应用负载增加,这种固定的私有基础架构变得更加耗费资金并且造成了数据处理作业的延时增大。处理该问题的方法之一就是使用Alluxio配合Google Dataprco加速作业负载。Alluxio是一个为分析型任务和人工智能应用而构建的开源数据编排平台(data orchestration platform),Dataproc则是一个Hadoop,Spark或其他集群的Google云托管服务。你可以通过将本地数据挂载到Alluxio中获得混合环境下的高性能的数据分析,同时能够无需数据拷贝并减少你私有数据中心的成本。

面向Dataproc的零拷贝混合加速

Alluxio可以将你本地私有的计算环境和Google云整合在一起。作业负载能够按需推送到Google云上,无需预先在计算环境直接移动数据。这能够减少高速数据分析的I/O开销。

例如,你原先为HDFS中的本地数据使用例如Spark或Presot的计算框架;现在,通过利用Alluxio将数据推送到Google云中,你可以在云中按需运行相关分析,而无需耗时费力地将数据迁移到云中。即使你能够接受数据迁移的过程,当数据传输到云存储之后,随着本地数据流水线和源系统的变化与演进,你还是很难实时获得数据。然而通过数据编排平台,你就可以选择性地进行数据按需迁移并且使得更新的数据在云上无缝可见而无需将所有数据都持久化到云存储中。

我们从客户那里了解到这点对企业非常有帮助,尤其是对于金融服务、健康关护以及零售等相关行业。因为他们通常需要在本地存储这些数据并加密敏感数据,并且将这些加密数据和相关的机器学习或者ETL计算作业推送到Google云上处理。一个典型可能看上去如下图所示:
基于Google Dataproc+Alluxio加速本地Hadoop数据湖计算处理_第1张图片

大型全国连锁零售商如何使用该方案加速处理

这里举个案例:一个行业领先的线上线下零售商的本地数据中心随着进入数据量迅猛增长,他们的本地数据中心负载很快变得压力过大。他们现在切换到了基于Alluxio和Google Cloud构建的零拷贝混合解决方案。他们希望利用Google云的可扩展性,但处于安全性等因素考虑又不能将数据全部持久化到云中。

因此,他们增加了Alluxio组件使得他们的Presto应用负载可以推送到Google云执行查询那些以前不能够移动到云上的大规模数据集。在使用Alluxio之前,为了能够运行作业,他们需要手工将大规模数据拷贝三次或四次。一旦作业运行结束,必须删除这些数据,这造成了Google云的计算效率非常低下。切换到使用Alluxio之后,他们看到了查询性能极大的整体提升并且能够充分利用Google云带来的可扩展性和灵活性。现有系统架构示例如下:
基于Google Dataproc+Alluxio加速本地Hadoop数据湖计算处理_第2张图片

基于零拷贝的混合加速方案获得更好的成本和性能

我们看到并总结了用户使用本地Hadoop存储或其他大数据作业负载所面临的一些共性的挑战,具体如下:

  • Hadoop集群的CPU运行负载超过100%
  • 由于主节点NameNode的高负载因素,Hadoop集群很难进一步扩展
  • 计算能力不够为在线业务用户期待的服务等级协议(Service-Level
    Agreement,SLA)提供支撑。并且,在SLA作业负载和非SLA作业负载没有直接分离。
  • 偶发的流量爆发型分析,例如一个处理每月投诉报告的计算密集型的作业,会竞争使用大量资源。
  • 在数据和系统规模越来越大的场景下,成本的控制问题越发凸显。
  • 自我管理基础设施的运维成本增加了整体持有成本。这也是IT团队薪水相关的间接支出。

通过使用云能够应对这些挑战使得用户能够独立地扩展并且按需进行计算和存储的管理,获得使用多种计算引擎(合适工具处理合适的作业)的灵活性,以及通过去除临时作业减少现有基础架构的开销。

你可能感兴趣的:(基于Google Dataproc+Alluxio加速本地Hadoop数据湖计算处理)