Storm使用手册
来源:互联网 发布:2017淘宝改销量技术 编辑:程序博客网 时间:2024/06/06 05:05
一、Storm相关术语:
- Nimbus: Storm集群主节点,负责资源的分配和任务的调度
- Supervisor:Storm集群工作节点,接受Nimbus分配的任务,管理Worker
- Worker:Supervisor下的工作进程,具体任务执行
- Task:Worker下的工作线程
- Topology:实时计算逻辑,计算拓扑,由spout和bolt组成的图状结构
- Spout:Storm编程模型中的消息源
- Bolt:Storm编程模型中的处理组件,定义execute方法进行实际的数据逻辑处理
- Stream:拓扑中的消息流,传输的对象是Tuple
- Tuple:一次消息传递的基本单元
二、Storm几个常用的操作命令:
- storm active : 激活指定任务;
- storm drpc:启动一个DRPC进程;
- storm deactivate: 暂停storm的任务;
- storm kill:通过任务名称kill一个任务;
- storm list:列出正在运行的topologies和状态;
- storm nimbus: 启动一个nimbus进程;
- storm supervisor: 启动一个supervisor进程;
- storm ui : 启动监控页面UI的后台进程;
- storm rebalance: 节点扩展后进行负载均衡;
三、Storm编程模型
1、消息源Spout->继承BaseRichSpout类或者实现IRichSpout接口:
- open方法,初始化动作;
- nextTuple方法,消息接入,执行数据的发射;
- ack方法,tuple成功处理后调用;
- fail方法,tuple处理失败时调用;
- declareOutputFields方法,声明输出字段。
2、处理单元Bolt->继承BaseBasicBolt类或者实现IRichBolt接口:
- prepare方法,worker启动时初始化;
- execute方法,接受一个tuple并执行逻辑处理,发射出去;
- cleanup方法,关闭前调用;
- declareOutputFields方法,字段申明。
四、Storm应用实例的实现步骤
1、根据自己业务需求进行方案及拓扑的设计,并通过代码来实现拓扑
2、将编写好的源代码进行打包(最好用maven来操作)
$ mvn package // 这种打包方式将不包含依赖包
$ mvn assembly:assembly //包含依赖包
3、将拓扑提交到集群上运行
$ storm jar [jar包的名称] [包中实现topology的类的地址] [自定义的topology的名称]
4、进行拓扑UI的监控
$ nohup storm ui &
以下是UI界面监控的集群及Topology的情况:
以下是Topology的详细情况:
最后是Storm执行Topology任务后的输出结果:
0 0
- Storm 使用手册
- Storm使用手册
- STORM
- storm
- Storm
- storm
- storm
- storm
- storm
- storm
- storm
- storm
- Storm
- storm
- storm
- storm
- Storm
- Storm
- 我叒玩坏eclipse以后决定把问题记录下来了
- 计算机网络之IP协议族
- Android用户新危机间谍软件大起底
- 【Mockplus教程】标尺和参考线
- Findbugs工具的安装和使用
- Storm使用手册
- js数组操作
- 梵塔问题
- sql2008 r2 数据库 复制操作 代理作业失败的相关操作
- Java命令行运行参数说明大全(偷来的)
- 【Mockplus教程】收藏和重用
- Android Studio 代码混淆 与 发布release正式签名版本
- 欢迎使用CSDN-markdown编辑器
- Java并发教程(Oracle官方资料)