开源大数据技术专场(上午):Spark、HBase、JStorm应用与实践

本文涉及的产品
阿里云百炼推荐规格 ADB PostgreSQL,4核16GB 100GB 1个月
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 阿里在09年就开始尝试使用Hadoop技术,先后包括Hadoop、Spark、Hbase及JStorm,这些开源技术在不同的业务线广泛使用,推动阿里业务的发展。

16日上午9点,2016云栖大会“开源大数据技术专场” (全天)在阿里云技术专家封神的主持下开启。通过封神了解到,在上午的专场中,阿里云高级技术专家无谓、阿里云技术专家封神、阿里巴巴中间件技术部高级技术专家天梧、阿里巴巴中间件技术部资深技术专家纪君祥将给大家带来Hadoop、Spark、HBase、JStorm Turbo等内容。

bcc17289b696b9e678b6da9ce55255dc8f922039

无谓:Hadoop过去现在未来,从阿里云梯到E-MapReduce

624ed327fa69428c8c03705b44364f947767fd82

阿里云高级技术专家 无谓

 从开辟大数据先河至现在,风雨十年,Hadoop已成为企业的通用大数据框架。而作为上午的第一个演讲,无谓首先给我们总结了Hadoop这十年,也是从离线到在线的十年,其中意义重大的事情有:YARN成为大数据操作系统;Hadoop成为企业级解决方案,涵盖数据可视化工具、存储、计算、数据管理等;机器学习和人工智能的支持; Mahout->oryx,批处理到实时处理的学习工具。

2fc525f1eb82b06ebb4ce06568e18ec2fc4527f9

而在这段时间,阿里从2008年就已经参与到Hadoop中,其主要阶段可概括为: 2008-2009期间,建立了多部门独立的Hadoop集群;2009-2015,主要做云梯集群和服务,包括:集群统一运维,专业的开发团队;数据统一管理,集团层面的全局视图;资源错峰分配,整体成本最优;2015-至今,阿里云E-MapReduce,阿里云对外的Hadoop基础服务。

ab417db6e530f246ad51bcabd0309384386f2cb1

随后,无谓还重点分享了阿里内部的Hadoop服务云梯:全局资源调度:支持业务优先级(基于Fair Scheduler);安全性,HDFS上的扩展ACL,Hive安全认证和授权;稳定性,消除异常作业对全局的影响Master HA;扩展性:Master节点的单点性能压力,跨机房 的部署架构;云梯医生:集群诊断系统,最后,通过无谓,我们还体会了阿里云分享的技术红利E-MapReduce。

封神: Spark实践与探索

eb2564bfc489a3c3663a077034b40a3f70366c0e

阿里云技术专家 封神

封神专注于大数据领域,拥有7年的分布式引擎开发经验,先后参与了上万台Hadoop、ODPS集群的开发。在本次演讲中,他主要介绍了数据处理技术、About Spark、阿里的Spark历程、Spark与云,及Spark未来多个方面。

75853ce76c9a7daf685c921ac0db214189a80212

在时下流行大数据技术对比中,封神首先从数据处理时间与数据量两个方面维度进行了切入,在这个过程中,我们会发现,没有哪个软件能解决所有的问题,能解决问题也是在一个范围内,即使是Spark、Flink等。目前存在有意思的事情是:Greenplum类似的MPP引擎想处理大数据的需求,Hadoop等被定位为大数据的引擎也想解决小数据的问题(列式存储、或者也加入一些索引)。图中右上角的想往左边靠,减少延迟,图中左下角的想往上面靠,增大能处理的数据量。此外在DB/MPP与Hadoop的对比上,Hadoop生态圈为何如何火爆也能有所体现:首先,在硬件需求上,DB/MPP可能需要小型机和高端存储,同时也需要RAID,而Hadoop只需要普通的PC机;容错性上,DB/MPP重跑即可,而Hadoop则需要容错;在调度模型上,DB/MPP使用了基于线程的调度,而Hadoop则需要做CPU/Memory的调度;最后,在衡量指标上DB/MPP一般以QPS为标准,而Hadoop相关系统一般更看重吞吐。


df9b212a913428107e86fe923047c9cccea31ad2

随后,封神详细的介绍了Spark的各个部分,更重点介绍了Spark链路、Spark Core、Spark弹性伸缩,并结合业务介绍了Spark的相关实践。而在阿里的使用上,封神表示,在10年至12年,阿里就对Spark进行了初步尝试,其中主要使用了Standalone方式,主要做了Spark Mllib机器学习的探索;在12-14年,Spark on YARN成为主要探索部分,至此集群的规模已达数百台,其中14还做了基于内存计算的研究;而从15年至今,团队已对公共云提供服务,主要是作业平台、运维平台。

b2aabe36d278453a5994a72e71f8c5488f0afebd

演讲期间,封神还就机器学习、即席查询、流式计算3个时下热门的大数据实用场景进行了解析,在机器学习场景中,他对比了Mahout on mr、MLlib On Spark,以及MPICH2三个方式,其中在易用性和稳定性上,Spark都有一个非常好的表现,但是在性能上MPICH2则更胜一筹,但是后者不管稳定和易用都与Spark相去甚远。

最后,在Spark未来的方向上,封神表示,支持ANSI SQL,性能接近MPP数据仓库,一切基于优化(Catalyst),新硬件的支持(比如:大内存、GPU),更加友好的支持云显然更为重要。

天梧:HBase的一些实践与探索

6625a013cf2ddc6945a960a766a2b78c8ab34f41

阿里巴巴中间件技术部高级技术专家 天梧

时至今日,数据已经在各行各业产生价值,在天悟的演讲中,他首先为大家总结了大数据的应用形式,主要包括:万物万面,精准定像;数据赋能,运筹帷幄;智能生活。然而,机构如果想真正地享受数据带来的红利,机构仍然需要拼尽全力去克服大数据场景的数据特点,比如:基础量大、增长快、计算与存储的实时性要求迫切、时效性短、易发散、易产生脏数据等。随后,天悟结合各个应用场景开始了HBase实践的讲解。

b31c6ce6ed851a6da82739e975339c1bead67c06

Hadoop Database,是一个基于Google BigTable论文设计的高可靠性、高性能、可伸缩的分布式存储系统,它的具体特性有:松散表,实时更新、增量导入、多维删除,随机查询、范围查询,高伸缩、高可用、高可靠、高性能、高适应,在线分布式NOSQL数据库。

与Hadoop的天然集成让HBase天生具备了很多优势,在阿里之外,同样得到了 Intel、Facebook、Cloudera、Hortonworks、小米等公司的支持。而在此之外,HBase的其他基因同样深受大数据玩家的喜爱,包括:自动分区,分区自动分裂,分区在线Merge,可应对数据爆发式增长和访问爆发式增长;LSM,写吞吐高,不受SSD随机写入放大干扰,不受空间放大干扰;存储计算分离,负载均衡更高效,资源扩容更节省,存储优化更便捷(非对称副本冗余:异构介质、Erasure Code等)。

b7bf82694c8b85315d8aa1567c8b1d6c0a6ea4f3

可以说,HBase为大数据而生。然而就如任何开源软件,HBase的使用同样需要大量的研发投入。在这里,阿里也基于阿里巴巴/蚂蚁的环境和业务需求,对社区HBase进行深度定制与改进,从内核引擎、解决方案、稳定护航、发展支撑等全方位提供一站式大数据基础存储服务,就拿灾备体系来说,包括集群数据复制的诉求、多集群数据复制、流量切换、跨集群一致性保证、深度优化的宕机恢复能力等方面。集群数据复制的诉求,数据一致,延迟低,吞吐大,多源多目标,链路粒度细,异构系统,可视可追踪等;多集群数据复制,异步模式,同步模式,支持多地多单元、表级复制、循环流动,支持延迟/拓扑/复制详情可视,支持数据的链路追踪,支持实时复制到异构系统,并发、吞吐、实时的有效权衡异步模式;流量切换,虚拟地址映射,支持一键切换、自动切换;跨集群一致性保证,基于读写保护的强一致;深度优化的宕机恢复能力。

天梧表示,在此之外,在HBase上阿里还做了调整、报警、健康等各个方面的工作。而在未来,更大硬件支持、容器化部署也将是一大研究的方向。

纪君祥:阿里巴巴实时计算平台 JStorm Turbo

c7a1346d46a75f16fed5fef4e445e4f10c3ad2a8

阿里巴巴中间件技术部资深技术专家 纪君祥

通过纪君祥了解到,从2013年4月3日起,JStorm已经发布了25个版本,部署方式包括Standalone、JStorm-on-yarn、JStorm-on-docker等方式,部署超过4000台主机,支撑了1500以上的应用,拥有超过2000+的topologies。

654c174d07be94d92a121eb19d970fa79b183b38

在JStorm与Storm区别上,纪君祥提到JStorm更是一个流处理生态系统,而不是简单的一个流计算框架。同时,对于企业来说JStorm还是一个成熟的Java版Storm,它不仅运营更快、更稳定,也具备了更多的功能。

PS,感谢秦海龙对本文的指导和贡献

秦海龙,杭州以数科技公司大数据工程师。Java语言、Scala语言,Hadoop生态、Spark大数据处理技术爱好者。

相关实践学习
阿里云百炼xAnalyticDB PostgreSQL构建AIGC应用
通过该实验体验在阿里云百炼中构建企业专属知识库构建及应用全流程。同时体验使用ADB-PG向量检索引擎提供专属安全存储,保障企业数据隐私安全。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
目录
相关文章
|
12天前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
42 2
ClickHouse与大数据生态集成:Spark & Flink 实战
|
13天前
|
SQL 机器学习/深度学习 分布式计算
Spark快速上手:揭秘大数据处理的高效秘密,让你轻松应对海量数据
【10月更文挑战第25天】本文全面介绍了大数据处理框架 Spark,涵盖其基本概念、安装配置、编程模型及实际应用。Spark 是一个高效的分布式计算平台,支持批处理、实时流处理、SQL 查询和机器学习等任务。通过详细的技术综述和示例代码,帮助读者快速掌握 Spark 的核心技能。
39 6
|
11天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第27天】在大数据时代,数据湖技术凭借其灵活性和成本效益成为企业存储和分析大规模异构数据的首选。Hadoop和Spark作为数据湖技术的核心组件,通过HDFS存储数据和Spark进行高效计算,实现了数据处理的优化。本文探讨了Hadoop与Spark的最佳实践,包括数据存储、处理、安全和可视化等方面,展示了它们在实际应用中的协同效应。
48 2
|
12天前
|
存储 分布式计算 Hadoop
数据湖技术:Hadoop与Spark在大数据处理中的协同作用
【10月更文挑战第26天】本文详细探讨了Hadoop与Spark在大数据处理中的协同作用,通过具体案例展示了两者的最佳实践。Hadoop的HDFS和MapReduce负责数据存储和预处理,确保高可靠性和容错性;Spark则凭借其高性能和丰富的API,进行深度分析和机器学习,实现高效的批处理和实时处理。
48 1
|
12天前
|
分布式计算 Java 开发工具
阿里云MaxCompute-XGBoost on Spark 极限梯度提升算法的分布式训练与模型持久化oss的实现与代码浅析
本文介绍了XGBoost在MaxCompute+OSS架构下模型持久化遇到的问题及其解决方案。首先简要介绍了XGBoost的特点和应用场景,随后详细描述了客户在将XGBoost on Spark任务从HDFS迁移到OSS时遇到的异常情况。通过分析异常堆栈和源代码,发现使用的`nativeBooster.saveModel`方法不支持OSS路径,而使用`write.overwrite().save`方法则能成功保存模型。最后提供了完整的Scala代码示例、Maven配置和提交命令,帮助用户顺利迁移模型存储路径。
|
13天前
|
分布式计算 大数据 OLAP
AnalyticDB与大数据生态集成:Spark & Flink
【10月更文挑战第25天】在大数据时代,实时数据处理和分析变得越来越重要。AnalyticDB(ADB)是阿里云推出的一款完全托管的实时数据仓库服务,支持PB级数据的实时分析。为了充分发挥AnalyticDB的潜力,将其与大数据处理工具如Apache Spark和Apache Flink集成是非常必要的。本文将从我个人的角度出发,分享如何将AnalyticDB与Spark和Flink集成,构建端到端的大数据处理流水线,实现数据的实时分析和处理。
45 1
|
23天前
|
分布式计算 大数据 Apache
利用.NET进行大数据处理:Apache Spark与.NET for Apache Spark
【10月更文挑战第15天】随着大数据成为企业决策和技术创新的关键驱动力,Apache Spark作为高效的大数据处理引擎,广受青睐。然而,.NET开发者面临使用Spark的门槛。本文介绍.NET for Apache Spark,展示如何通过C#和F#等.NET语言,结合Spark的强大功能进行大数据处理,简化开发流程并提升效率。示例代码演示了读取CSV文件及统计分析的基本操作,突显了.NET for Apache Spark的易用性和强大功能。
32 1
|
1月前
|
消息中间件 分布式计算 Kafka
大数据平台的毕业设计02:Spark与实时计算
大数据平台的毕业设计02:Spark与实时计算
|
2月前
|
分布式计算 Java Hadoop
java使用hbase、hadoop报错举例
java使用hbase、hadoop报错举例
88 4
|
1月前
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
68 4