storm其实就是一个多进程与多线程的框架 开多个进程:分配到的资源更多 开多个线程:执行的速度更快 设置进程个数以及线程个数 ============================================ 7. storm的并行度 config.setNumWorkers(1); topologyBuilder.setSpout("mySpout", new RandomSpout(),3); topologyBuilder.setBolt("splitBolt&…
课程大纲: 1.storm的基本介绍 2.storm的架构模型 3.storm的安装 4.storm的UI管理界面 5.storm的编程模型 6.storm的入门程序 7.storm的并行度 8.storm的消息的分发策略 9.strom与kafka的集成  搞定 10.            实时看板综合案例 1. storm的基本介绍 storm的官网:http://storm.apache.org/ twitter公司开源提供的,最早的一个版本是0.8.0,处理速度比较快 认知的海岛越大,…
dataSource:数据源,生产数据的东西 spout:接收数据源过来的数据,然后将数据往下游发送 bolt:数据的处理逻辑单元.可以有很多个,基本上每个bolt都处理一部分工作,然后将数据继续往下游的bolt发送 storm不会保存数据,也不会生产数据,只是一个数据的搬运工 tuple:元组的概念,可以理解为一个数组,或者一个集合,里面可以封装很多东西,数据从上游往下游发送,都是封装在tuple里面了 topology:spout与bolt组织到一起,形成一个topology 注意,配置文件…
8. Storm的分发策略 Storm当中的分组策略,一共有八种: 所谓的grouping策略就是在Spout与Bolt.Bolt与Bolt之间传递Tuple的方式.总共有八种方式: 1)shuffleGrouping(随机分组)随机分组:将tuple随机分配到bolt中,能够保证各task中处理的数据均衡: 2)fieldsGrouping(按照字段分组,在这里即是同一个单词只能发送给一个Bolt) 按字段分组: 根据设定的字段相同值得tuple被分配到同一个bolt进行处理: 举例:buil…
nimbus:主节点,接收客户端提交的任务,并且分配任务,新的版本当中nimbus已经可以有多个了 zookeeper集群:storm依靠zk来保存一些节点信息,nimbus将分配的任务信息都写入到zk当中 supervisor:从节点,主要是我们的任务执行的节点,两个作用,接收任务,负责管理worker进程 worker:进程的概念,资源分配的单位 executor:线程的概念,CPU调度执行的单位 task:任务的执行,新的版本里面已经没了 =========================…
详见代码. 下图,为设置kafka的首次消费策略,即首次消费的偏移量的示例:…
上次课程内容回顾:1.kafka的基本介绍:kafka是一个消息队列2.消息队列的作用:解耦3.kafka与传统消息队列的对比: 传统消息队列:支持事务 kafka的特点:比较快,比较快的两个原因:顺序读写磁盘,pageCache页缓存机制4.kafka的架构模型: producer:消息的生产者,主要就是用于生产数据 topic:消息的主题,可以理解为一类消息的高度抽象的集合 broker:服务器 partition:一个topic下面有多个partition,分区,一个partition保存…
目录 storm编程指南 (一)创建spout (二)创建split-bolt (三)创建wordcount-bolt (四)创建report-bolt (五)创建topo storm编程指南 @(博客文章)[storm|大数据] 本文介绍了storm的基本编程,关于trident的编程,请见??? 本示例使用storm运行经典的wordcount程序,拓扑如下: sentence-spout->split-bolt->count-bolt->report-bolt 分别完成句子的产生.…
上次课程内容回顾: ConcurrentHashMap是线程安全的,为什么多线程的时候还不好使,为什么还要加static关键字 1.storm的基本介绍:strom是twitter公司开源提供给apache的一个实时处理的框架2.storm的架构模型:主从架构: nimbus:主节点  接收客户端提交的任务,以及任务的分发 supervisor:从节点,主要用于处理nimbus分配的任务3.storm的安装 yaml的配置文件比较严格4.strom的UI管理界面:记得更改ui的端口,默认8088…
前面我们说到多线程带来的风险,其中一个很重要的就是安全性,因为其重要性因此,放到本章来进行讲解,那么线程安全性问题产生的原因,我们这节将从底层字节码来进行分析. 一.问题引出 先看一段代码 package com.roocon.thread.t3; public class Sequence { private int value; public int getNext(){ return value++; } public static void main(String[] args) { S…