请输入您要查询的百科知识:

 

词条 Storm (event processor)
释义

  1. Development

  2. Apache Storm Architecture

  3. Peer platforms

  4. See also

  5. References

  6. External links

{{Use dmy dates|date=December 2014}}{{Infobox software
| name = Apache Storm
| logo =
| developer = Backtype, Twitter
| status = Active
| latest release version = 1.2.2
| latest release date = {{release date|df=yes|2018|05|17}}
| operating system = Cross-platform
| size =
| programming language = Clojure & Java
| genre = Distributed stream processing
| license = Apache License 2.0
| website = {{url|https://storm.apache.org/}}
|logo caption = Distributed and fault-tolerant realtime computation}}Apache Storm is a distributed stream processing computation framework written predominantly in the Clojure programming language. Originally created by Nathan Marz[1] and team at BackType,[2] the project was open sourced after being acquired by Twitter.[3] It uses custom created "spouts" and "bolts" to define information sources and manipulations to allow batch, distributed processing of streaming data. The initial release was on 17 September 2011.[4]

A Storm application is designed as a "topology" in the shape of a directed acyclic graph (DAG) with spouts and bolts acting as the graph vertices. Edges on the graph are named streams and direct data from one node to another. Together, the topology acts as a data transformation pipeline. At a superficial level the general topology structure is similar to a MapReduce job, with the main difference being that data is processed in real time as opposed to in individual batches. Additionally, Storm topologies run indefinitely until killed, while a MapReduce job DAG must eventually end.[5]

Storm became an Apache Top-Level Project in September 2014[6] and was previously in incubation since September 2013.[7][8]

Development

Apache Storm is developed under the Apache License, making it available to most companies to use.[9] Git is used for version control and Atlassian JIRA for issue tracking, under the Apache Incubator program.

Major Releases[10]
Version Release Date
1.2.24 June 2018
1.2.119 February 2018
1.1.11 August 2017
1.0.428 July 2017
1.1.0 29 Mar 2017
1.0.0 12 April 2016
0.10.0 5 November 2015
0.9.6 5 November 2015
0.9.5 4 June 2015
0.9.4 25 March 2015
0.9.3 25 November 2014
0.9.2 25 June 2014
0.9.1 10 February 2014
Historical (non-Apache) Version Release Date
0.9.0 8 December 2013
0.8.0 2 August 2012
0.7.0 28 February 2012
0.6.0 15 December 2011
0.5.0 19 September 2011

Apache Storm Architecture

The Apache Storm cluster comprises following critical components:

  • Nodes- There are two types of nodes, i.e., Master Node and Worker Node. The Master Node executes a daemon Nimbus which assigns tasks to machines and monitors their performances. On the other hand, the Worker Node runs the daemon called Supervisor which assigns the tasks to other worker node and operates them as per the need. As Storm cannot monitor the state and health of cluster, it deploys ZooKeeper to solve this issue which connects Nimbus with the Supervisors.
  • Components- Storm has three critical components, viz., Topology, Stream, and Spout. Topology is a network made of Stream and Spout. Stream is an unbounded pipeline of tuples and Spout is the source of the data streams which converts the data into the tuple of streams and sends to the bolts to be processed.{{citation needed|date=August 2017}}

Peer platforms

Storm is but one of dozens of stream processing engines, for a more complete list see Stream processing. Twitter announced Heron on June 2, 2015[11] which is API compatible with Storm. There are other comparable streaming data engines such as Spark Streaming and Flink.[12]

See also

  • C++ AMP
  • Data parallelism
  • Lambda architecture
  • Message passing
  • OpenMP
  • OpenCL
  • OpenHMPP
  • Parallel computing
  • TPL
  • Thread (computing)

References

1. ^{{cite web|last=Marz|first=Nathan|title=About Nathan Marz|url=http://nathanmarz.com/about/|publisher=Nathan Marz|accessdate=28 March 2013}}
2. ^{{cite web|title=BackType Website (defunct)|url=http://www.backtype.com/|publisher=BackType|accessdate=28 March 2013}}
3. ^{{cite web|title=A Storm is coming: more details and plans for release|url=https://blog.twitter.com/2011/storm-coming-more-details-and-plans-release|work=Engineering Blog|publisher=Twitter Inc|accessdate=29 July 2015}}
4. ^{{cite web|title=Storm Codebase|url=https://github.com/nathanmarz/storm/commit/9d91adbdbde22e91779b91eb40805f598da5b004|publisher=Github|accessdate=8 February 2013}}
5. ^{{cite web|title=Tutorial - Components of a Storm cluster|url=http://storm.apache.org/documentation/Tutorial.html|work=Documentation|publisher=Apache Storm|accessdate=29 July 2015}}
6. ^{{cite web|title=Apache Storm Graduates to a Top-Level Project|url=http://hortonworks.com/blog/apache-storm-graduates-top-level-project/}}
7. ^{{cite web|title=Storm Project Incubation Status|url=http://incubator.apache.org/projects/storm.html|publisher=Apache Software Foundation|accessdate=29 October 2013}}
8. ^{{cite web|title=Storm Proposal|url=http://wiki.apache.org/incubator/StormProposal|publisher=Apache Software Foundation|accessdate=29 October 2013}}
9. ^{{cite web|title=Powered By Storm|url=http://storm.apache.org/documentation/Powered-By.html|work=Documentation|publisher=Apache Storm|accessdate=29 July 2015}}
10. ^{{Cite web|url=http://storm.apache.org/|title=Apache Storm|website=storm.apache.org|access-date=2017-08-18}}
11. ^{{cite web|title=Flying faster with Twitter Heron|url=https://blog.twitter.com/2015/flying-faster-with-twitter-heron|work=Engineering Blog|publisher=Twitter Inc|accessdate=3 June 2015}}
12. ^{{cite web |url=http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7530084 |format=PDF |title= Benchmarking Streaming Computation Engines: Storm, Flink and Spark Streaming |date=May 2016 |publisher=IEEE }}

External links

  • Project Homepage
{{Apache}}{{Parallel computing}}

8 : Distributed computing architecture|Parallel computing|Cloud applications|Cloud infrastructure|Apache Software Foundation|Software using the Apache license|Java platform|Distributed stream processing

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/11 4:08:59