zoukankan      html  css  js  c++  java
  • Storm 使用手册

    一、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任务后的输出结果: 

  • 相关阅读:
    SQLServer提取日期中的年月日及其他格式
    大白话解说,半分钟就懂 --- 分布式与集群是什么 ? 区别是什么?
    VS2015 Git 源码管理工具简单入门
    Web.Config配置文件中customErrors元素的使用方法
    C#发起Http请求,调用接口
    如何停止和禁用Linux系统中的不需要的服务
    QtCreator调试传入运行参数
    gSOAP 在windows下的安装与使用(mingw32)
    MinGW 使用 mintty 终端替代默认终端以解决界面上复制与粘贴的问题
    在windows下执行./configure,make,makeinstall源码安装程序spice-gtk
  • 原文地址:https://www.cnblogs.com/zhaoyan001/p/7976399.html
Copyright © 2011-2022 走看看