Storm流式计算基础
.note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;}

.note-content h2 {line-height: 1.6; color: #0AA89E;}
.note-content {background: #FFFFFF;}
.note-content h1 {color: #7AB3A7;}
.note-content h3 {color: #147A67;}

Storm流式计算基础

○ 什么是Storm?

Storm是一个开源的、分布式、流式计算系统。

大家都知道现在我们都处于一个信息爆炸头的时代,有很多公司处理的数据量就很大,而且增长速度很惊人。但作为一个程序猿还是很懒的,当我们目前面临1wQPS的时候,绝对不会去考虑10wQPS的时候我们该怎么做。就在我们刚写完一个系统的时候,几倍的流量就来打你的脸,那这个时候该怎么办呢?大部分的公司在这个时候想到的办法就是升级服务器配置。因为开发前面的那个系统已经耗费不少时间了,要是开发一个几倍流量的系统,估计得雇佣多几个更有经验的程序猿,开发更长的时间才能开发出来。这个估计老板会选择买点更好的服务器算了。一开始这确实是个最方便最省钱的办法,但是很多公司都踏上了一条升级服务器配置的不归路。升着升着普通的机器就满足不了用户的需求了。

所以说当数据规模达到这种程度的情况下,资金也比较雄厚了,已经有了足够牛逼的开发团队,许多公司都不愿意当这个冤大头了,迫于无奈之下都想到的是同一个办法:把任务拆解到多台计算机上去执行,对外只提供一个接口

1.数据量大--------> 分
2. 布
3.增长太快--------> 式

之前有人曾经开发过分布式系统,都没有成功。后来google提出了三篇重要意义的论文,BigTable、GFS、MapReduce。然后被人看到这三篇论文之后就开发出了hadoop,基于hadoop的改进hadoop的系统就陆续出现了。由于hadoop有一整套的生态系统,所以现在人们谈到分布式就必谈到hadoop。但hadoop并不能解决大部分的计算需求。MapReduce只能处理批量式计算需求,数据得在计算之前就都准备好。收集数据得花一段时间,再进行计算又花一段时间,因此没有实时性。

\ 批量计算(MapReduce) 流式计算(Apache Storm)
数据到达 计算开始前数据已准备好 计算进行中数据持续更新到来
计算周期 计算完成后会结束计算 一般会作为服务持续更新运行
使用场景 时效性要求低的场景 时效性要求高的场景

○ Storm基本组件

Storm的主从结构

1.                     Supervisor
2. Zookeeper Supervisor
3.Nimbus ⇄ Zookeeper ⇄ Supervisor
4. Zookeeper Supervisor
5. Supervisor

主从结构:简单,高效,但主节点存在单点问题

  • Nimbus

    • 主节点
    • 只负责整体分配工作
    • 不具体干活
    • 老板
  • Supervisor

    • 从节点
    • 直接管理干活的Worker
    • 小组经理
  • Worker

    • 真正干活(TASK)的进程
  • Heron改进

  • Storm DRPC

  • Storm UI

Storm作业提交运行流程

  • 用户编写Storm Topolgy
  • 使用Client提交Topology给Nimbus
  • Nimbus指派ask给Supervisor
  • Supervisor为Task启动Worker
  • Worker执行Task

Storm基础理论的更多相关文章

  1. storm笔记:Storm+Kafka简单应用

    storm笔记:Storm+Kafka简单应用 这几天工作须要使用storm+kafka,基本场景是应用出现错误,发送日志到kafka的某个topic.storm订阅该topic.然后进行兴许处理.场 ...

  2. Storm如何保证可靠的消息处理

    作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文主要翻译自Storm官方文档Guaranteeing messag ...

  3. Storm

    2016-11-14  22:05:29 有哪些典型的Storm应用案例? 数据处理流:Storm可以用来处理源源不断流进来的消息,处理之后将结果写入到某个存储中去.不像其它的流处理系统,Storm不 ...

  4. Storm介绍(一)

    作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 内容简介 本文是Storm系列之一,介绍了Storm的起源,Storm ...

  5. 理解Storm并发

    作者:Jack47 PS:如果喜欢我写的文章,欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 注:本文主要内容翻译自understanding-the-parall ...

  6. Storm构建分布式实时处理应用初探

    最近利用闲暇时间,又重新研读了一下Storm.认真对比了一下Hadoop,前者更擅长的是,实时流式数据处理,后者更擅长的是基于HDFS,通过MapReduce方式的离线数据分析计算.对于Hadoop, ...

  7. Storm内部的消息传递机制

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 一个Storm拓扑,就是一个复杂的多阶段的流式计算.Storm中的组件 ...

  8. Storm介绍(二)

    作者:Jack47 转载请保留作者和原文出处 欢迎关注我的微信公众账号程序员杰克,两边的文章会同步,也可以添加我的RSS订阅源. 本文是Storm系列之一,主要介绍Storm的架构设计,推荐读者在阅读 ...

  9. Storm介绍及与Spark Streaming对比

    Storm介绍 Storm是由Twitter开源的分布式.高容错的实时处理系统,它的出现令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求.Storm常用于在实时分析.在线机器学 ...

随机推荐

  1. myeclipse中自己手动配置maven

    第一步,配置myeclipse的jdk,因为myeclipse默认的是运行在jre之上,而maven是在jdk之上 第二步,配置maven:

  2. oracle表导入导出

    数据导出: 1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中   exp system/manager@TEST file=d:\daochu. ...

  3. WebService到底是什么

    WebService到底是什么 http://blog.csdn.net/wooshn/article/details/8069087 张孝祥WebService  http://wenku.baid ...

  4. c++多线程参数的传递

    #include <iostream> #include <pthread.h> //多线程相关操作头文件,可移植众多平台 using namespace std; struc ...

  5. centOs下的php+mysql+apache+ftp配置

    在安装服务器时做了相应的笔记,这个方法是亲身经验成功的,随着版本的不断更新,也许会有一些地方不同,但是基本原理都是一样的. 1.安装CentOS 6 ,可以选择最小安装,也可以安装桌面 2.升级系统 ...

  6. hibernate中先建表还是先建实体类

    在实际工作中往往是先建表然后再生成类原因:建好数据库表之后往往要对数据表进行一些优化,比如说建索引,比如说建中间表,比如建视图.如果先建类的话这些优化是无法生成的

  7. Hive进阶(下)

    Hive进阶(下) Hive进阶(下) Hive的表连接 等值连接 查询员工信息:员工号.姓名.月薪.部门名称 1.select e.empno,e.ename,e.sal,d.dname2.from ...

  8. 数独破解c++代码

    数独破解c++代码 #include <iostream> #include <cstring> #include <cstdio> #include <st ...

  9. JavaEE Tutorials (20) - 企业应用安全入门

    20.1企业应用的基本安全任务31620.2保护企业bean安全316 20.2.1使用声明式安全保护企业bean安全318 20.2.2通过编程方式保护企业bean安全321 20.2.3传播安全身 ...

  10. mysql入库中文乱码问题

    mysql> show variables like '%char%';+--------------------------+----------------------------+| Va ...