BigData之Storm:Apache Storm的简介、深入理解、下载、案例应用之详细攻略
目录
Apache Storm的简介
Apache Storm是一个免费的、开源的分布式实时计算系统。Apache Storm使它能够轻松可靠地处理无绑定的数据流,就像Hadoop对批处理所做的那样进行实时处理。Apache Storm很简单,可以与任何编程语言一起使用,而且使用起来很有趣!
Apache Storm有很多用例:实时分析、在线机器学习、连续计算、分布式RPC、ETL等等。Apache Storm速度很快:基准测试显示,每个节点每秒处理的元组超过100万。它是可扩展的,容错的,保证您的数据将被处理,并且易于设置和操作。
Apache Storm集成了您已经使用的排队和数据库技术。Apache Storm拓扑消耗数据流,并以任意复杂的方式处理这些流,在计算的每个阶段之间根据需要对流进行重新分区。在教程中阅读更多内容。
Storm是一个免费开源、分布式、高容错的实时计算系统。Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求。Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域。
官网:http://storm.apache.org/
文档:http://storm.apache.org/releases/current/index.html
Apache Storm的深入理解
1、Storm与hadoop
全量数据处理使用的大多是鼎鼎大名的hadoop或者hive,作为一个批处理系统,hadoop以其吞吐量大、自动容错等优点,在海量数据处理上得到了广泛的使用。但是,hadoop不擅长实时计算,因为它天然就是为批处理而生的,这也是业界一致的共识。否则最近这两年也不会有s4、storm、puma这些实时计算系统如雨后春笋般冒出来啦。
2、Apache Storm的API
Apache Storm有一个简单易用的API。在Apache Storm上编程时,可以操作和转换元组流,元组是一个指定的值列表。元组可以包含任何类型的对象;如果您想使用Apache Storm不知道的类型,那么很容易为该类型注册一个序列化器。
Apache Storm的下载
下载地址:http://storm.apache.org/downloads.html
Current 2.2.x Release
The current 2.2.x release is 2.2.0. Source and binary distributions can be found below. The list of changes for this release can be found here.
- apache-storm-2.2.0.tar.gz [PGP] [SHA512]
- apache-storm-2.2.0.zip [PGP] [SHA512]
- apache-storm-2.2.0-src.tar.gz [PGP] [SHA512]
- apache-storm-2.2.0-src.zip [PGP] [SHA512]
Apache Storm artifacts are hosted in Maven Central. You can add Apache Storm as a dependency with the following coordinates:
groupId: org.apache.storm artifactId: storm-{component} version: 2.2.0
Apache Storm的案例应用
1、Apache Storm集成
Apache Storm集成了任何排队系统和任何数据库系统。Apache Storm的spout抽象使得集成新的排队系统变得很容易。示例队列集成包括:
同样,将apachestorm与数据库系统集成也很容易。只需打开与数据库的连接,然后像平常一样读/写。apachestorm将在必要时处理并行化、分区和失败时重试。