文档章节

小结

吹比龙
 吹比龙
发布于 2016/09/09 17:05
字数 476
阅读 14
收藏 0

发现这本书不错《storm技术内幕与大数据实践》16
先说一套架构,例如用于流水式统计 gps数据所属区域,或者电脑内存实时统计等等
netty发消息+netty收消息+redis list当queue来用+storm从queue不断取计算+落库
数据采集
kafka、flume、淘宝的timetunnel
具体处理事务进程:worker
具体处理现场:task,worker中的每一个spout/bolt线程称为一个task,在storm0.8之后task不予物理线程对应
同一个spout/bolt线程的task可能共享一个物理线程,称为executer
storm集群中的每台机器 运行多个工作进程,每个进程运行多个线程,每个线程执行多个任务,任务是真正进行数据处理的实体
spout、bolt作为一个或者多个任务执行
重点注意,下面的配置都是针对整个集群来说的
Config config = new Config();
config.setDebug(true);// 这里本地模式调试使用,到生产给关了影响性能
config.setNumWorkers(2);//设置集群启动多少个进程处理拓扑
拓扑里面的每个组件用多少个线程通过下面指定setSpoutsetBolt
topologyBuilder.setSpout("SimpleSpout", new GpsSpout(), 2);
topologyBuilder.setBolt("SimpleBolt", new GPSBolt(), 3)
// 启动3个线程,6个task,即每个线程2个task
topologyBuilder.setBolt("SimpleBolt", new GPSBolt(), 3).setNumTasks(6).
因为生成运行时多进程,多线程的
全局变量不能使用,如果想用保证原子操作,用redis
生产中可以随时更改这些数据儿不用重启,通过命令行或者web界面

在storm进行spring整合的时候发现以下问题,即打包可以采用storm官网推荐的打包方式,所有的依赖包要自己copy到storm集群环境中的每个节点的storm/extlib下 有点像之前的短信服务 jar放到tomcat一样

© 著作权归作者所有

共有 人打赏支持
下一篇: netty
吹比龙
粉丝 9
博文 135
码字总数 38944
作品 0
合肥
程序员
私信 提问

暂无文章

分布式项目(五)iot-pgsql

书接上回,在Mapping server中,我们已经把数据都整理好了,现在利用postgresql存储历史数据。 iot-pgsql 构建iot-pgsql模块,这里我们写数据库为了性能考虑不在使用mybatis,换成spring jd...

lelinked
今天
2
0
一文分析java基础面试题中易出错考点

前言 这篇文章主要针对的是笔试题中出现的通过查看代码执行结果选择正确答案题材。 正式进入题目内容: 1、(单选题)下面代码的输出结果是什么? public class Base { private Strin...

一看就喷亏的小猿
今天
1
0
cocoapods 用法

cocoapods install pod install 更新本地已经install的仓库 更新所有的仓库 pod update --verbose --no-repo-update 更新制定的仓库 pod update ** --verbose --no-repo-update...

HOrange
今天
3
0
linux下socket编程实现一个服务器连接多个客户端

使用socekt通信一般步骤 1)服务器端:socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。 2)客户端:socker()建立套接字,连接(connect)服务器,连接上后...

shzwork
昨天
3
0
android自定义viewgroup画背景

设计部要求背景实现一个背景边框带圆弧的效果: 所以想着用自定义控件画一个背景。 为了方便,继承的是LinearLayout,在onMeasure中先获取控件宽高: @Overrideprotected void onMeasure(in...

醉雨
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部