越来越多的企业发现了大数据处理和分析框架的力量,如 Apache Hadoop 和 Apache Spark,但他们也发现了这些技术的一些挑战。尤其重要的是,随着大数据行业的快速变化,许多客户需要一个安全且长期的平台来支持业务快速发展。
火山引擎 E-MapReduce(简称“EMR”)是开源 Hadoop 生态的企业级大数据分析系统,完全兼容开源,提供 Hadoop、Spark、Hive、Flink、Hudi、Iceberg 等生态组件集成和管理,支持海量数据的存储、查询和分析,可弹性伸缩,按需使用,使用更低的成本,也可与大数据开发治理套件(DataLeap)等其他产品能力结合,提供端到端的数据接入/分析/挖掘能力,帮助用户轻松完成企业大数据平台的构建和数据上云,降低运维门槛,加速数据洞察和业务决策。
本迁移指南为您介绍将企业原大数据平台迁移至火山引擎 EMR 的路径和最佳实践,内容包括:
数据迁移、作业迁移、元数据迁移
成本评估和优化建议
在大数据开始迁移前,需要先确定迁移路径,每个路径都有其优点和缺点,您可以结合实际业务场景进行选择:
架构重构
迁移源端 Hadoop 集群至火山 EMR 过程中,可以考虑系统重构您的大数据平台,使得迁移收益最大化。重构包括软件版本升级、替换,来获得新特性和高性能,调整作业调度、配置规格重新选型以提升资源利用率。
架构平迁
若搬迁时间紧张,需要迁移的组件版本比较久远,涉及业务改造复杂,可以选择平迁,组件和组件版本均不发生变化。当 Hadoop 集群迁移至火山 EMR 后,再考虑架构升级,包括组件替换和组件版本升级。
混合路径
混合路径介于重构和平迁之间。一些老的系统比较久远,改造成本高,可以选择平迁。新的系统在迁移过程中可以考虑重构,使得迁移火山 EMR 收益最大化。
当迁移到一个新的产品或服务时,如何选择最优的使用需要经过验证。通常,最好的方法是搭建一个测试集群,并从中测试和验证。通过测试集群的验证可以帮助您制定后续的计划。
验证测试集群需要有一些挑战性的假设,比如:
特定的数据格式对于用户场景是最好的。 很多时候,客户认为一个特定的数据格式是最好的。然而,没有一个数据格式适用于所有的场景。一些场景下,一些数据格式的性能要好于另一些数据格式,比如 Apache Parquet 和 Apache ORC。迁移完成后切换数据格式的成本比快速搭建一个测试集群进行验证更高。
使用这个引擎执行作业的性能要高于其他引擎。 引擎的假设和数据格式的价格一样,替换执行引擎的成本是昂贵的,考虑到不同引擎间的语法差异性,作业代码通常需要改造。
特定实例类型对于运行负载是最优的。 很多时候,另一种实例类型执行的更好。比如,c2i 实例性能更好,但是 g2i 机型成本更低。详见实例规格介绍。
实例类型的修改在集群初始化后较容易,但如果成本和性能对您来说是高优的,强烈建议你使用测试集群进行验证。
当开始迁移 EMR 的时候,需要谨慎的选择团队去设计、实现和维护新系统。我们建议您的团队包含项目经理、大数据工程师、基础设施工程师、安全工程师等角色。
为了方便成本评估、架构规划、机型配置选型,需要采集一系列集群和组件指标,包括
大数据组件及其版本,如 Hive 3.1.2、Spark 3.2.1等。
CPU 物理核数需求、内存需求。
HDFS 单副本存储大小、存储增长速度。
文件数、数据存储格式。
网络吞吐量。
大数据组件的参数设置。
作业信息。
至少一周的资源使用情况。
ODS/DWD/DWS/DIM/ADS 数据分层、流转图。
准备工作和信息指标信息采集完成后,您便可开始后续的成本评估和优化工作。详见成本评估和优化。