首页 > 学院 > 开发设计 > 正文

storm学习笔记

2019-11-10 19:55:17
字体:
来源:转载
供稿:网友

topology发布

当topology发布时,所有的bolt和spout组件首先会进行序列化,然后通过网络发送到集群中.如果spout和bolt在序列化之前(比如在构造函数中生成)实例化了任何无法序列化的实例变量,在进行序列化时会抛出NotSerializableException异常.

storm并发

storm集群在并发运行时,有以下四个组成部分:

Node(服务器) storm集群中的一台服务器,会运行topology中的一部分运算.一个集群会包括一个或者多个node. worker(jvm虚拟机) 指一个node上相互独立运行的jvm进程.每个node可以配置运行一个或者多个worker. executer(线程) 指一个worker的jvm进程中运行的java线程.多个task可以指派给同一个executer执行.除非是明确指定,storm默认会给每个executor分配一个task. task(bolt/spout实例) task是spout和bolt实例,它们的nextTuple()和execute()方法会被executor执行.

一个或多个woker执行一个topology,一个executer执行一个task.

storm的task实际上可以认为是一个实例,executor只是一个实际的执行体.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表