storm
Mr_蜗牛
专业打杂
展开
-
Storm分组
1、定义:Stream Grouping:为每一个bolt指定应该接收哪个流作为输入,流分组定义了如何在bolt的任务直接进行分发。1.1 Shuffle Grouping随机分组:保证每个bolt接受到的tuple数目相同1.2 Fields Grouping按字段分组,比如按照userid来分组,具有同样的userid的tuple会被分到同样的Bolts,而不同的userid则会被分配到不同的...原创 2017-12-10 14:53:55 · 400 阅读 · 0 评论 -
Storm的分布式的远程方法调用(DRPC)
一、DRPC就是分布式的远程方法调用。在Storm里面引入DRPC主要是利用storm的实时计算能力来并行化CPU密集型的计算任务,DRPC的storm topology以函数的参数流作为数据,而把这些函数调用的返回值作为topology的输出流DRPC其实不能算是storm本身的特性,他是通过组合storm的stream、spout、bolt、topology而成的一种模式,本来应该把D原创 2017-12-10 17:52:33 · 516 阅读 · 0 评论 -
Storm集群搭建
1、关闭防火墙,修改etc/hosts配置(3台机的IP可以互相通信)2、下载并安装JDK3、搭建Zookeeper集群(保证3台机器的Zookeeper都可用)4、安装python(2.6.6版本以上)5、下载并且解压Storm发布版本6、修改storm.yaml配置文件7、先启动ZK集群后再启动storm各个后台进程。在上述的步骤中。第1步骤第2步骤可以自行原创 2017-11-24 01:10:55 · 362 阅读 · 0 评论 -
Storm简介
一、Storm简介Storm是Twitter开源的一个分布式的实时计算系统,用于数据的实时分析,持续计算等官网地址:http://www.storm-project.net/源码地址:https://github.com/nathanmarz/storm应用场景:1、实时推荐系统,比如我们在某电商网站去买东西,我们会在网页旁边看到我们自己所需要的商品相关的系列产品。而had原创 2017-11-23 17:07:36 · 305 阅读 · 0 评论 -
Storm入门-helloWorld
一、简述1、首先需要编写数据源类、Spout。可以使用两种方式1.1继承BaseRichSpout类1.2实现IRichSpout接口1.3重点需要几个方法进行重写或实现:open(初始化方法)、nextTuple(核心方法)、declareOutputFiles(转向到下个节点的方法)2、然后编写我们的数据处理类:bolt,也可以使用两种方式2.1继承BaseBasicB原创 2017-12-02 17:44:46 · 693 阅读 · 0 评论 -
Storm-Trident
1、简介2、TridentFunction3、TridentFilter4、projections5、Trident repartitioning operations5.1)The shuffle operation5.2)The partitionBy operation5.3)The global operation5.4)The broadcast operation5.5)The bat...原创 2018-04-16 00:22:59 · 611 阅读 · 0 评论 -
strom批量发送(实现IBatchSpout接口、non-tranctional spout)
在该例子中,使用IBatchSpout接口实例化一个spout,重写emitBatch方法,方法中将根据batchId将数据batchesMap中(batchesMap其实就是一个批的概念,这批数据可以自己指定,我这里就是指定了4批的数据,也就是DATA_MAP里面的数据,由于在emitBatch会指定一个batchId,所以这个batchId就和这一批数据进行挂钩。如果以后有事务,那么这批数据其原创 2018-04-16 01:03:13 · 991 阅读 · 0 评论 -
Storm集成kafka
一、简介二、安装三、一个简单生产者与消费者DEMO四、Storm集成Kafka一、简介Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop的一样的日志数据和离线分析系统,但又要求实时处...原创 2018-05-07 11:19:39 · 1668 阅读 · 0 评论 -
Storm集成Redis
Storm如果是数据了很大,持久化到DB中,就需要频繁的做磁盘IO,这样的话明显不太好。一般来说做持久化一般是和redis,他们2个是比较配套的。他们都是基于内存的数据库。官方也是不推荐把Storm的数据持久化到DB,因为Storm可能会有多多少少的数据丢失,包括hadoop都是一样的。所以Storm处理了大批量的数据。如果是数据量少,就没有必要使用Storm这个工具了。由于Redis有RDB和A...原创 2018-05-08 12:17:22 · 745 阅读 · 0 评论