53.storm简介
一、简介
1.storm是twitter开源的一个分布式的实时计算系统,用于数据实时分析,持续计算,分布式RPC等等。
- 官网地址:http://storm-project.net
- 源码地址:https://github.com/nathanmarz/storm
- Jstorm实现高可用。
2.实时计算要解决一些什么问题?
- 最显而易见的就是实时推荐系统,比如我们在淘宝等电商购物网站买东西,我们会在网页旁边或者底端看到与自己需要商品相关的系列产品。这就是使用类似storm实时计算算法去做的,我们非常熟悉的hadoop只是做离线数据分析,无法做到实时分析计算。
- 比如车流量实时计算,可以利用storm为我们实时计算每一个路段的拥挤度等相关路况信息。
- 再比如过票,也是一种实时计算的机制,利用storm完全可以实现。
3.实现一个实时计算系统
- 低延迟:实时计算,延迟肯定要低。
- 高性能:可以使用几台普通的服务器建立环境,结余成本。
- 分布式:storm非常适合于分布式场景,大数据的实时计算;你的数据和计算单机就能搞定的话,那么不用考虑这些复杂问题了。我们所说的是单机搞不定的情况。
- 可扩展:伴随着业务的发展,我们的数据量、计算量可能会越来越大,所以希望这个系统可以扩展。
- 容错:这是分布式系统中通用的问题,一个节点挂了不能影响应用,storm可以轻松做到在节点挂了的时候实现任务转移,并且在节点重启的时候(也就是重新投入生产环境时,自动平衡任务)
- 可靠性:可靠的消息处理。storm保证每一个消息至少能得到一次完整处理。任务失败时,它会负责从消息源重试消息。
- 快速:系统的设计保证了消息能得到快速的处理,使用ZeroMQ作为其底层消费队列。
- 本地模式:Storm有一个“本地模式”,可以在处理过程中完全模拟storm集群。这样可以快速进行开发和单元测试。
二、storm体系结构
- 首先我们那hadoop和storm进行一个简单的对比

- Storm是一个开源的分布式实时计算系统,可以简单、可靠的处理大量的数据流。Storm有很多使用场景:如实时分析,在线机器学习,持续计算,分布式RPC,ETL等待。Storm支持水平扩展,具有高容错性,保证每个消息都得到处理,而且处理速度很快(在一个小集群中,每个节点每秒可以处理数以百万计的消息)。Storm的部署和运维都很便捷,而且更为重要的是,可以使用任意编程语言来开发应用。
- storm框架结构图

- Nimbus主节点:主节点通常运行一个后台程序--Nimbus,用于响应分布式集群中的节点,分配任务和监测故障。这个很类似于Hadoop的Job Tracker
- Supervisor工作节点:通常运行一个后台程序--Supervisor,用于监听工作,指派工作进程,每一个工作节点都是topology中一个子集的实现。而Nimbus和Supervisor之间的协议通过zookeeper系统集群。
- zookeeper:是完成Supervisor和Nimbus之间协调的服务。而应用程序实现实时的逻辑则被封装到storm的topology。topology姿势一组由Spouts和Bolts通过Stream Groupings进行连接的图。
- Topology:拓扑,就是一个概念
- storm中运行的一个实时应用程序,因为各个组件间的消息形成逻辑上的一个拓扑结构。一个topology是spouts和bolts组成的图,通过stream groupings将图中的spouts和bolts连接起来:

53.storm简介的更多相关文章
- 分布式流式处理框架:storm简介 + Storm术语解释
简介: Storm是一个免费开源.分布式.高容错的实时计算系统.它与其他大数据解决方案的不同之处在于它的处理方式.Hadoop 在本质上是一个批处理系统,数据被引入 Hadoop 文件系统 (HDFS ...
- Apache Storm简介
Apache Storm简介 Storm是一个分布式的,可靠的,容错的数据流处理系统.Storm集群的输入流由一个被称作spout的组件管理,spout把数据传递给bolt, bolt要么把数据保存到 ...
- 流式大数据计算实践(6)----Storm简介&使用&安装
一.前言 1.这一文开始进入Storm流式计算框架的学习 二.Storm简介 1.Storm与Hadoop的区别就是,Hadoop是一个离线执行的作业,执行完毕就结束了,而Storm是可以源源不断的接 ...
- Storm概念学习系列之storm简介
不多说,直接上干货! storm简介 Storm 是 Twitter 开源的.分布式的.容错的实时计算系统,遵循 Eclipse Public License1.0. Storm 通过简单的 API ...
- Storm简介
Storm特性 1. 低延迟和高性能 在一个小集群中,每个节点每秒可以处理数以百万计的消息. 2. 可扩展 在Storm集群中主要有三个实体:工作进程.线程和任务.Storm集群中每台机器上都可以运行 ...
- 流式计算之Storm简介
Storm是一个分布式的.容错的实时计算系统,遵循Eclipse Public License 1.0,Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm之于实时处理,就好比H ...
- storm简介[ZZ]
场景 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样.更加便捷,同时对于信息的时效性要求也越来越高.举个搜索 场景中的例子,当一个卖家发布了一条宝贝信息时,他希望的 ...
- Storm简介及使用
一.Storm概述 网址:http://storm.apache.org/ Apache Storm是一个免费的开源分布式实时计算系统.Storm可以轻松可靠地处理无限数据流,实现Hadoop对批处理 ...
- Storm简介——初始Storm
一.什么是Storm Strom是由Twitter开源的类似于Hadoop的实时数据处理框架.Strom是分布式流式数据处理系统,强大的分布式集群管理.便捷的针对流式数据的编程模型.高容错保障这些都是 ...
随机推荐
- 2018.10.02 NOIP模拟 序列维护(线段树+广义欧拉定理)
传送门 一道比较好的线段树. 考试时线性筛打错了于是弃疗. 60分暴力中有20分的快速幂乘爆了于是最后40分滚粗. 正解并不难想. 每次区间加打懒标记就行了. 区间查询要用到广义欧拉定理. 我们会发现 ...
- 2018.07.20 atcoder Largest Smallest Cyclic Shift(贪心)
传送门 题意:给你x个a,y个b,z个c,显然这些字符可以拼成若干字符串,然后求这些字符串中最小表示法表示出来的最大的那一个. 解法:贪心思想,用multiset维护现在拼成的字串,每次取一个最小的和 ...
- 2018.07.17 CQOI2017 余数求和(整除分块)
洛谷传送门 bzoj传送门 这道题要用到学习莫比乌斯反演时掌握的整除分块算法,也就是对于一个数n" role="presentation" style="pos ...
- EF生成的SQL语句执行顺序问题。
//实体被更改后,再做删除,EF只生成删除语句 //实体删除后再更改,EF报错 //添加语句会再,更改,删除后执行,更AddObject位置无关 //一个实体多个字段被改,只会生成一句update / ...
- sqlserver 清除日志
要使用Master数据库执行 DUMP TRANSACTION 数据库名 WITH NO_LOG 2.再打开企业管理器--右键你要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件-- ...
- 13.A={1,2,3,5}和为10的问题
题目:集合A={1,2,3,5},从中任取几个数相加等于10,并打印各得哪几个数?补充参照:http://www.cnblogs.com/tinaluo/p/5294341.html上午弄明白了幂集的 ...
- Codeforces 632D Longest Subsequence 2016-09-28 21:29 37人阅读 评论(0) 收藏
D. Longest Subsequence time limit per test 2 seconds memory limit per test 256 megabytes input stand ...
- colorbox在android上由于高度太高无法scroll问题
首先看问题截图: 我们可以看到弹出的colorbox页面的高度已经到了下面,你根本看不到"mistake cross"<=>"X". 我测试了iph ...
- Java电话监听器【精品博客】
模拟拨打电话,接听电话,挂断电话,拨打为空号,等等,这些动作用Java接口监听的方式来完成,主要是为了训练使用接口监听回调: /** * 业务场景一: * [萍萍]--->请输入手机号码进行拨打 ...
- 测试一下你的T-SQL基础知识-count
下面count的返回值是多少? ) ); GO INSERT mytable ( myid, mychar ) VALUES ( , 'A' ), ( , 'B'), ( NULL, 'C' ), ( ...