Apache Storm 衍生项目 & Apache Flink初接触

本文涉及的产品
实时计算 Flink 版,1000CU*H 3个月
简介: storm是一个近似于实时的计算框架,甩开hadoop上的原生mapreduce计算框架不只一条街。如果能将storm引入到hadoop中,对存储于hdfs的数据进行分析必然极大的提高处理性能。storm-yarn就是这样一个项目,由yahoo实现,目前已经开源。或许谈起storm是大数据实时计算框

storm-yarn

概要

storm是一个近似于实时的计算框架,甩开hadoop上的原生mapreduce计算框架不只一条街。如果能将storm引入到hadoop中,对存储于hdfs的数据进行分析必然极大的提高处理性能。storm-yarn就是这样一个项目,由yahoo实现,目前已经开源。

除了storm-yarn试图将storm整合进hadoop,以提升hadoop的分析处理能力的尝试之外,Hortonworks也高调宣布在2014年推出整合了storm的hadoop发行版。当然Hortonworks的整合会基于storm-yarn,毕竟它们都属于yahoo系。

整合目的和优势

storm-yarn是来提升hadoop的处理分析能力,是对hadoop的增强,而非相反。

节选自Yahoo!开源运行在Hadoop上的Storm——Storm-YARN

  • 提供了巨大的弹性潜力。实时处理的负载一般不恒定,而且是不可预测的。就其本身而言,为满足需求峰值,Storm会需要更多资源。将 Storm和批处理搭配使用,Storm需要资源时可以从批处理作业那里窃取,当资源需求下降时再把资源还回去。Storm-YARN为实现这一理念奠定 了基础。
  • 很多应用将Storm用于低延时处理,而将Map/Reduce用于批处理,同时,两者之间会共享数据。通过将Storm放到物理上更接近数据源和/或同一流水线中其他组件的地方,可以减少网络传输,进而减少获取数据的总开销。

yarn介绍

Hadoop的核心部分由四个主要模块组成

  • hadoop common                       共用组件
  • HDFS                                       文件系统,用于数据存储
  • hadoop yarn                             进行资源管理
  • hadoop MapReduce                   计算框架

从下图中可以看出hadoop1到hadoop2的转换

Yarn的架构图如下所示。

Yarn是一个two-tier solution,将资源管理(resource managing)和job monitoring分离开,放到不同的实体上进行处理。在Master Node上,专注于Resource方面的管理(目前仅支持cpu, memory),而将job monitoring由application master来负责。

目前关于yarn的中文资料首推董西成的《Hadoop技术内幕:深入解析YARN架构设计与实现原理》

如何运行storm-yarn

处理逻辑简介

  • 由yarn来分配nimbus和supervisor的运行时所需要的资源
  • 真正将nimbus和supervisor带起来的是ApplicationMaster

小结

从开始研究storm源码到渐渐开始yarn框架和代码的学习说明当时选择一个小而精的开源入手逐步扩大研究范围的策略还是对的。

Trident-ML

楔子

或许谈起storm是大数据实时计算框架已经让你不明觉厉,如果说storm还可以跟机器学习算法(ml)有机的结合在一起,是不是更加觉着高大尚呢。trident-ml就是一个这样让人无限遐想的产品。

其实要讲trident-ml无非是要回答这样几个问题,

  1. 什么是ml
  2. 什么是trident
  3. 为什么要将trident用于ml

trident-ml的官方站点  https://github.com/pmerienne/trident-ml

什么是ml

关于什么是ML(Machine Learning)以及machine learning的常见算法有哪些,详见维基百科中的介绍,要是觉着这解释不过瘾,那就来点有料的来自princeton大学的讲义

什么是trident

这个问题在本博的系列文章中已经屡次提及并有详尽的解释。

为什么要将trident和ml绑定在一块

Machine Learning机器学习库运行在trident之上使得分析的结果更为实时的反映出来,加快了调整步骤。举个例子吧,比如在逛京东或是amazon,通过这个实时的机器学习过程,后台服务可以给客户找到更为精确的推荐产品。

有什么同类的产品么

在软件这个世界里,从来不存在什么唯一,即然有trident-ml,那么就能找到同类的产品。

谈到机器学习,你可能听说过在该领域最牛的处理语言R。到了这里,想必已经料到与trident-ml相竞争的是一个什么东东了,对那就是trident-r。

trident-r的官方地址 https://github.com/quintona/storm-r

与trident-ml相比,trident-r表现的不够活跃,略显沉闷。

总结

关于apache storm,本博已经花了相当的篇幅来聊它的里里外外。从明儿开始,换个话题聊聊了。或者是yarn,或者是linux kernel或者是server application,谁知道呢?

Apache Flink初接触

Apache Flink闻名已久,一直没有亲自尝试一把,这两天看了文档,发现在real-time streaming方面,Flink提供了更多高阶的实用函数。

用Apache Flink实现WordCount

  • 下载Apache Flink 0.10.1
  • 启动local模式

    bin/start-local.sh
  • 运行scala-shell

    bin/start-scala-shell.sh remote localhost 6123

    Flink中JobManager的默认监听端口是6123

  • wordcount

    val text = env.fromElements("Whether The slings and arrows of outrageous fortune")
    val counts = text.flatMap{ _.toLowerCase.split("\\W+")}.map{ (_,1)}.groupBy(0).sum(1)
    counts.print
相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
目录
相关文章
|
20天前
|
人工智能 运维 Java
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
本文基于Apache Flink PMC成员宋辛童在Community Over Code Asia 2025的演讲,深入解析Flink Agents项目的技术背景、架构设计与应用场景。该项目聚焦事件驱动型AI智能体,结合Flink的实时处理能力,推动AI在工业场景中的工程化落地,涵盖智能运维、直播分析等典型应用,展现其在AI发展第四层次——智能体AI中的重要意义。
312 27
Flink Agents:基于Apache Flink的事件驱动AI智能体框架
|
10月前
|
存储 人工智能 大数据
The Past, Present and Future of Apache Flink
本文整理自阿里云开源大数据负责人王峰(莫问)在 Flink Forward Asia 2024 上海站主论坛开场的分享,今年正值 Flink 开源项目诞生的第 10 周年,借此时机,王峰回顾了 Flink 在过去 10 年的发展历程以及 Flink社区当前最新的技术成果,最后展望下一个十年 Flink 路向何方。
683 33
The Past, Present and Future of Apache Flink
|
7月前
|
SQL 存储 人工智能
Apache Flink 2.0.0: 实时数据处理的新纪元
Apache Flink 2.0.0 正式发布!这是自 Flink 1.0 发布九年以来的首次重大更新,凝聚了社区两年的努力。此版本引入分离式状态管理、物化表、流批统一等创新功能,优化云原生环境下的资源利用与性能表现,并强化了对人工智能工作流的支持。同时,Flink 2.0 对 API 和配置进行了全面清理,移除了过时组件,为未来的发展奠定了坚实基础。感谢 165 位贡献者的辛勤付出,共同推动实时计算进入新纪元!
820 1
Apache Flink 2.0.0: 实时数据处理的新纪元
|
8月前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
本文整理自鹰角网络大数据开发工程师朱正军在Flink Forward Asia 2024上的分享,主要涵盖四个方面:鹰角数据平台架构、数据湖选型、湖仓一体建设及未来展望。文章详细介绍了鹰角如何构建基于Paimon的数据湖,解决了Hudi入湖的痛点,并通过Trino引擎和Ranger权限管理实现高效的数据查询与管控。此外,还探讨了湖仓一体平台的落地效果及未来技术发展方向,包括Trino与Paimon的集成增强、StarRocks的应用以及Paimon全面替换Hive的计划。
707 1
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
|
7月前
|
SQL 存储 HIVE
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
鹰角基于 Flink + Paimon + Trino 构建湖仓一体化平台实践项目
401 2
|
10月前
|
存储 SQL 人工智能
Apache Flink 2.0:Streaming into the Future
本文整理自阿里云智能高级技术专家宋辛童、资深技术专家梅源和高级技术专家李麟在 Flink Forward Asia 2024 主会场的分享。三位专家详细介绍了 Flink 2.0 的四大技术方向:Streaming、Stream-Batch Unification、Streaming Lakehouse 和 AI。主要内容包括 Flink 2.0 的存算分离云原生化、流批一体的 Materialized Table、Flink 与 Paimon 的深度集成,以及 Flink 在 AI 领域的应用。
1286 13
Apache Flink 2.0:Streaming into the Future
|
7月前
|
存储 大数据 数据处理
您有一份 Apache Flink 社区年度报告请查收~
您有一份 Apache Flink 社区年度报告请查收~
360深度实践:Flink 与 Storm 协议级对比
本文从数据传输和数据可靠性的角度出发,对比测试了 Storm 与 Flink 在流处理上的性能,并对测试结果进行分析,给出在使用 Flink 时提高性能的建议。
1339 0
|
2月前
|
存储 分布式计算 数据处理
「48小时极速反馈」阿里云实时计算Flink广招天下英雄
阿里云实时计算Flink团队,全球领先的流计算引擎缔造者,支撑双11万亿级数据处理,推动Apache Flink技术发展。现招募Flink执行引擎、存储引擎、数据通道、平台管控及产品经理人才,地点覆盖北京、杭州、上海。技术深度参与开源核心,打造企业级实时计算解决方案,助力全球企业实现毫秒洞察。
369 0
「48小时极速反馈」阿里云实时计算Flink广招天下英雄

推荐镜像

更多