混合云模式下 MaxCompute + Hadoop 混搭大数据架构实践

简介: 2019杭州云栖大会大数据企业级服务专场,由斗鱼大数据高级专家张龙带来以 “混合云模式下 MaxCompute+Hadoop 混搭大数据架构实践” 为题的演讲。本文讲述了从 Apache Hadoop 阶段到 Cloudera CDH 阶段斗鱼大数据架构的发展历程。提出了上云过程中斗鱼遇到的问题和跳战,包括数据安全、数据同步以及迁移任务。概括了混合云模式给斗鱼带来资源效率更高和资源成本更低的变化。

摘要:2019杭州云栖大会大数据企业级服务专场,由斗鱼大数据高级专家张龙带来以 “混合云模式下 MaxCompute+Hadoop 混搭大数据架构实践” 为题的演讲。本文讲述了从 Apache Hadoop 阶段到 Cloudera CDH 阶段斗鱼大数据架构的发展历程。提出了上云过程中斗鱼遇到的问题和跳战,包括数据安全、数据同步以及迁移任务。概括了混合云模式给斗鱼带来资源效率更高和资源成本更低的变化。

精彩视频回放 >>>
以下为精彩视频内容整理:


斗鱼大数据架构发展历程

image.png

在2014年中期,斗鱼就开始使用大数据,最开始使用的是简单的HBase和Hadoop。在2015年,开始使用CDH运维大数据集群,主要针对可视化运维。在2017年的下半年,斗鱼开始接触阿里云大数据的一些产品,并且与其他产品做了对比。最终选择了阿里云的MaxCompute。

Apache Hadoop阶段

由于业务场景比较简单,组件较少,并且使用的人也少,但可以灵活的操作,同时集群规模较小,运维要求低,可以自由的利用开源,培养了许多人才。但在发展过程中也遇到了一些阻碍,例如:组件增多,运维成本高,业务增长快,集群扩容操作繁琐,人员增加,数据安全要求高,物理机操作,环境安全难保障。

Cloudera CDH阶段

斗鱼为何选择Cloudera CDH?原因主要有:首先,它能满足业务发展需要,多组件运维成本低,集群扩容操作简单,数据安全及环境安全有保障。其次,CDH在国内被广泛使用。最主要的一点是斗鱼的团队内部有CDH人才。

Cloudera CDH给斗鱼带来了许多便利,包括支持丰富的组件,不用考虑兼容性,可以通过CM统一管理,进行Web化管理,同时支持中文。另外,支持安全管理,以及对Kerberos安全认证。

自建集群遇到了发展瓶颈,涉及到资源效率问题和资源成本问题。资源效率问题包括资源预算审批慢、机器采购周期长以及机房部署效率低。资源成本问题包括机器资源成本高、机房成本高还不稳定以及闲时资源空置较多。

image.png

大数据上云的挑战

上云面临的挑战主要是如何保证数据安全,因为数据是企业核心的资源,安全性是非常关键的。其次是如何保持数据同步,是因为云上云下存在着海量数据。最后,因为云下存在大量的历史业务,那该如何将业务安全迁移到云上也是一个问题。

  • 如何保证数据安全?

    对于数据丢失的问题,阿里使用原始数据进行备份,这是很关键的。对于核心数据泄露问题,几率是很小的,因为泄露数据之后所要承担的风险远大于打败竞争对手所提供的收益。对于云环境面向外网,如何保证安全访问的问题,可以增加账号访问IP白名单及审计,设置公司内部才可访问。


  • 如何保持数据同步?

    由于每天会产生PB级历史数据和TB级数据增量。如何快速准确同步数据问题,可以使用数据同步工具,主要是基于DataX的改造。同时提高网络专线能力,增加多根专线,自动地进行异常切换,与云上平台业务进行隔离。利用数据校验工具,校验数据同步任务以及数据量。


  • 如何安全迁移业务?

    业务的安全迁移需要做到三个要求:1.不能引起故障,保证迁移可行性验证。2.迁移成本不能太高,业务侧尽量少改动。3.能上云也要能下云,尽量保证云上云下操作一致性。

为了做到不引起故障,要做到三个需要:需要做业务场景测试,保证业务场景全部覆盖到,并且能够识别能够迁移的业务场景。需要数据质量检验,确保相同业务云上云下产出数据的一致性。需要数据效率验证,确保云上任务数据产出时间,同时不影响业务。

  • 如何保证较低的迁移成本?

    斗鱼在IDC中运行的任务主要分两部分,第一部分是Java任务,占比很小,特点是基于封装的HiveClient工具进行查询计算。第二部分是XML配置化任务,特点是基于自定义XML文件,支持HiveSQL统计后导入其他存储。针对这些任务的特点,斗鱼也做了相应的改造。针对封装OdpsClient,可以将HiveClient改成OdpsClient,并且改Hive URL为云环境。针对加模板改URL,可以引入MaxCompute参数模型,改Hive URL为云环境。

为了保证能上云也能下云,第一,需要数据能上能下,就是前面提到的数据同步中心。 第二,需要完善的配套工具,云上云下环境尽量透明化使用。第三,多使用通用功能,通过SQL+UDF能覆盖大部分场景。

混合云模式带来的变化

image.png

image.png

混合云模式带来的变化主要针对资源效率低,难以跟上业务发展,以及资源成本高,企业财务压力大两方面。在资源效率方面,从自建集群到MaxCompute有一些变化,包括提前半年或一年提预算变成按量付费,采购耗时1到3个月变成资源可以无限使用,机房上架1周以上变为无机房概念。相比于IDC自建集群,MaxCompute每年大概节约1000w成本,保障集群零故障。同时也有一些附加的收益,包括阿里云的专业服务,当遇到技术问题时可以请教阿里的专家来帮助解决,以及计算资源可以量化,可以知道钱花在哪些业务了,以及与阿里专家交流,帮助解决业务难题。

image.png

在自建机房时,斗鱼也做了一些开发,下图所示为数据开发,包括基于Hue的查询计算和云上的DataStudio数据开发,然后将Hue的API和DataStudio的API集中起来形成斗鱼的大数据开放平台,作用是可以提供给数据部门的人使用,也可以提供给业务部门的分析人员使用。

image.png


此外,斗鱼也做了一些实践,称为多活数据中心,如下图所示。斗鱼通过确立自建机房的数据和阿里云数据在这两个数据中心的角色,保证可以在多活数据中心的状态下支撑更多的业务。

image.png


混合云带来的变化总结起来,资源成本和资源效率是最大的两个变化,还有可量化的成本、增值服务、额外的专业服务等,不仅可以给我们自己部门人员用,还可以给其他业务部门的人来用,并且他们对使用成本也是直接可见的。以上就是我今天的分享,谢谢大家。

image.png

更多MaxCompute产品与技术信息请访问产品官网 >>>

欢迎加入“MaxCompute开发者社区”,扫码或点击链接均可加入 https://h5.dingtalk.com/invite-page/index.html?bizSource=____source____&corpId=dingb682fb31ec15e09f35c2f4657eb6378f&inviterUid=E3F28CD2308408A8&encodeDeptId=0054DC2B53AFE745
image.png

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
10天前
|
监控 Java 测试技术
现代化软件开发中的微服务架构设计与实践
随着软件开发的发展,传统的单体应用架构已经无法满足现代化应用的需求。微服务架构作为一种新的设计理念,为软件开发提供了更灵活、可扩展的解决方案。本文将介绍微服务架构的设计原则、实践方法以及相关技术工具,并结合实例展示其在现代化软件开发中的应用。
|
1天前
|
存储 监控 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第9天】 在本文中,我们将深入探讨如何在后端开发中构建一个高效的微服务架构。通过分析不同的设计模式和最佳实践,我们将展示如何提升系统的可扩展性、弹性和维护性。我们还将讨论微服务架构在处理复杂业务逻辑和高并发场景下的优势。最后,我们将分享一些实用的工具和技术,以帮助开发者实现这一目标。
|
2天前
|
监控 API 持续交付
构建高效可靠的微服务架构:策略与实践
【5月更文挑战第8天】在当今快速演进的软件开发领域,微服务架构已经成为实现敏捷开发、持续交付和系统弹性的关键模式。本文将探讨构建一个高效且可靠的微服务系统所必须的策略和最佳实践。我们将从服务的划分与设计原则出发,讨论如何通过容器化、服务发现、API网关以及断路器模式来优化系统的可伸缩性和鲁棒性。此外,我们还将涉及监控、日志管理以及CI/CD流程在确保微服务架构稳定运行中的作用。
|
2天前
|
分布式计算 资源调度 Hadoop
java与大数据:Hadoop与MapReduce
java与大数据:Hadoop与MapReduce
20 0
|
2天前
|
敏捷开发 持续交付 API
构建高效微服务架构:后端开发的现代实践
【5月更文挑战第8天】 在数字化转型的浪潮中,微服务架构已成为企业追求敏捷开发、持续交付和系统弹性的关键解决方案。本文将深入探讨微服务的核心概念,包括其设计原则、优缺点以及如何在后端开发中实现高效的微服务架构。我们将通过实际案例分析,展示微服务如何帮助企业快速适应市场变化,同时保持系统的可维护性和扩展性。
|
2天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
4天前
|
监控 负载均衡 数据安全/隐私保护
探索微服务架构下的服务网格(Service Mesh)实践
【5月更文挑战第6天】 在现代软件工程的复杂多变的开发环境中,微服务架构已成为构建、部署和扩展应用的一种流行方式。随着微服务架构的普及,服务网格(Service Mesh)作为一种新兴技术范式,旨在提供一种透明且高效的方式来管理微服务间的通讯。本文将深入探讨服务网格的核心概念、它在微服务架构中的作用以及如何在实际项目中落地实施服务网格。通过剖析服务网格的关键组件及其与现有系统的协同工作方式,我们揭示了服务网格提高系统可观察性、安全性和可操作性的内在机制。此外,文章还将分享一些实践中的挑战和应对策略,为开发者和企业决策者提供实用的参考。
|
4天前
|
API 持续交付 开发者
构建高效微服务架构:策略与实践
【5月更文挑战第6天】随着现代软件系统的复杂性增加,微服务架构逐渐成为企业开发的首选模式。本文深入分析了构建高效微服务架构的关键策略,并提供了一套实践指南,帮助开发者在保证系统可伸缩性、灵活性和稳定性的前提下,优化后端服务的性能和可维护性。通过具体案例分析,本文将展示如何利用容器化、服务网格、API网关等技术手段,实现微服务的高可用和敏捷部署。
|
5天前
|
存储 前端开发 Java
Android应用开发中的MVP架构模式实践
【5月更文挑战第5天】随着移动应用开发的复杂性增加,传统的MVC(Model-View-Controller)架构在应对大型项目时显得笨重且不灵活。本文将探讨一种更适应现代Android应用开发的架构模式——MVP(Model-View-Presenter),并展示如何在Android项目中实现该模式以提升代码的可维护性和可测试性。通过对比分析MVP与传统MVC的差异,以及提供一个实际案例,读者将能深入了解MVP的优势和实施步骤。
|
5天前
|
缓存 NoSQL Java
构建高性能微服务架构:Java后端的实践之路
【5月更文挑战第5天】在当今快速迭代和高并发需求的软件开发领域,微服务架构因其灵活性、可扩展性而受到青睐。本文将深入探讨如何在Java后端环境中构建一个高性能的微服务系统,涵盖关键的设计原则、常用的框架选择以及性能优化技巧。我们将重点讨论如何通过合理的服务划分、高效的数据存储策略、智能的缓存机制以及有效的负载均衡技术来提升整体系统的响应速度和处理能力。

热门文章

最新文章

相关产品

  • 云原生大数据计算服务 MaxCompute