Storm
1 基本概念
1.1 分布式、可扩展、高容错、实时流处理、跨语言
1.2 应用场景
1.2.1 实时分析
1.2.2 在线机器学习
1.2.3 分布式RPC
1.2.4 ETL数据抽取
1.3 一般需要结合数据库、消息队列等使用,自己本身不存储数据,数据的来源、输出都在消息队列或者数据库
1.4 概念
1.4.1 Topo拓扑,集群,任务,有向图
1.4.2 Spout获取数据,消息队列、文件、Socket等
1.4.3 Bolt单元处理节点,可以多个环节组合处理,自定义级联关系,MR是比较固定的
1.4.4 Tuple消息元组,Spout、Bolt之间数据传递的封装形式
1.4.4.1 若干个字段、元素
1.4.4.2 根据业务逻辑事先定义好
1.4.4.2.1 字段名称不用再发送了
1.4.4.2.2 提高性能
1.4.5 Sreams不同的消息走不通的路径,路径就是流,分流可以有不同的策略,随机、广播、ID等形式
1.4.6 业务类会分发提交到集群,并发的在很多supervisor机器上面执行
1.4.7 supervisor会启动Worker进程,进程里面启动多个Executor线程,线程中可以运行多个Task实例,进程、线程、实例数量都可以自定义
1.4.8 nimbus是集群的协调管理节点, supervisor负责具体的计算
1.4.9
1.4.10
1.4.11
2 开发
2.1 见demo示例
3 高级话题
3.1 分布式锁实现,并发任务同步控制
3.1.1 通过ZK获取锁
3.2 事务型topo实现机制。开发
3.3 与其他框架整合,如消息组件flume/kafka、数据库mysql/redis/hbase等
3.4 滑动窗口实现监控告警,如最近5min的TopN、PV、UV等数据
3.4.1 实时数据流+Bolt少量缓存
3.4.2 存量数据使用Hive、Presto、Spark等实现分析
3.5
 
 
 
 

【Storm】学习笔记的更多相关文章

  1. Storm学习笔记 - 消息容错机制

    Storm学习笔记 - 消息容错机制 文章来自「随笔」 http://jsynk.cn/blog/articles/153.html 1. Storm消息容错机制概念 一个提供了可靠的处理机制的spo ...

  2. Storm学习笔记 - Storm初识

    Storm学习笔记 - Storm初识 1. Strom是什么? Storm是一个开源免费的分布式计算框架,可以实时处理大量的数据流. 2. Storm的特点 高性能,低延迟. 分布式:可解决数据量大 ...

  3. Twitter Storm学习笔记

    官方英文文档:http://storm.apache.org/documentation/Documentation.html 本文是学习笔记,转载整合加翻译,主要是为了便于学习. 一.基本概念 参考 ...

  4. Storm学习笔记——高级篇

    1. Storm程序的并发机制 1.1 概念 Workers (JVMs): 在一个物理节点上可以运行一个或多个独立的JVM 进程.一个Topology可以包含一个或多个worker(并行的跑在不同的 ...

  5. Storm学习笔记

    1.如何让一个spout并行读取多个流? 方法:任何spout.bolts组件都可以访问TopologyContext.利用这个特性可以让Spouts的实例之间划分流. 示例:获取到storm集群sp ...

  6. Storm学习笔记六

    1 Storm的通信机制 说明:1.worker与worker之间跨进程通信: 2.worker内部中各个executor间的通信,Task对象--->输入队列queue--->执行--- ...

  7. storm学习笔记(一)

    1.storm介绍         storm是一种用于事件流处理的分布式计算框架,它是有BackType公司开发的一个项目,于2014年9月加入了Apahche孵化器计划并成为其旗下的顶级项目之一. ...

  8. apache Storm 学习笔记

    Storm流之FieldGrouping字段分组: https://blog.csdn.net/Simon_09010817/article/details/80092080

  9. Storm学习笔记1:Storm基本组件

    Storm概念及组件 Nimbus:负责资源分配和任务调度. Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程. Worker:运行具体处理组件逻辑的进程 ...

  10. Storm学习笔记——安装配置

    1.安装一个zookeeper集群 2.上传storm的安装包,解压 3.修改配置文件conf/storm.yaml #所使用的zookeeper集群主机storm.zookeeper.servers ...

随机推荐

  1. 支撑大规模公有云的Kubernetes改进与优化 (2)

    接下来我们按照kubernetes创建容器的详细过程,以及可能存在的问题. 一.API Server的认证,鉴权,Quota 当客户需要创建一个pod的时候,需要先请求API Server. Kube ...

  2. Web2.0应用程序的7条原则

    个人看好Web的发展潜力,本文字摘自<Collective Intelligence 实战> 网络是平台 使用传统许可模式软件的公司或用户必须运行软件.定期更新至最新版本,以及扩展它来满足 ...

  3. bzoj2660: [Beijing wc2012]最多的方案

    题目链接 bzoj2660: [Beijing wc2012]最多的方案 题解 对于一个数的斐波那契数列分解,他的最少项分解是唯一的 我们在拆分成的相临两项之间分解后者,这样形成的方案是最优且不重的 ...

  4. gzez某蒟蒻lyy的博客

    在gz,想去sn幻想乡也行,现在高一并且是已经高二但仍然是机房最弱,没救了 愿诸位身体健康 水平不行,写出来的东西很sb,但还是会偶尔记录一下... 数学公式测试:$\binom n{n_1\cdot ...

  5. 【spfa】【动态规划】zoj3847 Collect Chars

    转载自:http://blog.csdn.net/madaidao/article/details/42616743 Collect Chars Time Limit: 2 Seconds       ...

  6. bzoj1477 poj1061 青蛙的约会

    Description 两只青蛙在网上相识了,它们聊得很开心,于是觉得很有必要见一面.它们很高兴地发现它们住在同一条纬度线上,于是它们约定各自朝西跳,直到碰面为止.可是它们出发之前忘记了一件很重要的事 ...

  7. php curl 发送get和post请求示例

    <?php final class HttpClient { const TIME_OUT = 10; static function get($url) { $ch = curl_init() ...

  8. python开发_json_一种轻量级的数据交换格式

    以下是我做的对于python中json模块的demo 运行效果: Python 3.3.2 (v3.3.2:d047928ae3f6, May 16 2013, 00:03:43) [MSC v.16 ...

  9. Codeforces Round #279 (Div. 2) C. Hacking Cypher 机智的前缀和处理

    #include <cstdio> #include <cmath> #include <cstring> #include <ctime> #incl ...

  10. Linux知识(7)----远程登录 和远程拷贝

    一.远程登录 1.安装客户端 可以使用ssh(Secure Shell(缩写为SSH))来进行远程的登录.安装ssh的命令为: sudo apt-get install openssh-server ...