JStorm-2.1.1源码分析--Topology提交(中)
2016-06-10 11:51
411 查看
TopologyBuilder会保存各个组件到相应的数据结构中,数据结构如下:
组件配置信息存放方法如下:
TopologyBuilder构造好Topology之后,通过Jstorm Client的StormSubmitter.submitTopology(streamName, conf,builder.createTopology())提交Topology到Jstorm集群,在StormSubmitter.submitTopology方法中,共分两步:1、上传jar文件
2、提交作业。首先会对配置项进行检查、然后将Topology自己的配置项和Jstorm的配置项组装成一个大的Map,之后上传用户在命令行提交的Jar包,然后通过NimbusClient 的submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options) 方法将Topology提交到Jstorm集群,其核心代码如下:
在submitTopology方法中,Jstorm要求每个topology名称必须唯一, 通过submitJar(conf)上传Jar包到ZK,再使用语句client.getClient().submitTopologyWithOpts(name, path, serConf, topology, opts)通过Thrift将topology提交到集群。
NimbusClient提交之后,NimbusSever通过com.alibaba.jstorm.daemon.nimbus.ServiceHandler.submitTopologyWithOpts(String topologyname, String uploadedJarLocation, String jsonConf,
StormTopology topology, SubmitOptions options)处理接收到的topology,其具体逻辑如下:
运行一个topology,在zk上的目录如下:
组件配置信息存放方法如下:
TopologyBuilder构造好Topology之后,通过Jstorm Client的StormSubmitter.submitTopology(streamName, conf,builder.createTopology())提交Topology到Jstorm集群,在StormSubmitter.submitTopology方法中,共分两步:1、上传jar文件
2、提交作业。首先会对配置项进行检查、然后将Topology自己的配置项和Jstorm的配置项组装成一个大的Map,之后上传用户在命令行提交的Jar包,然后通过NimbusClient 的submitTopologyWithOpts(String name, String uploadedJarLocation, String jsonConf, StormTopology topology, SubmitOptions options) 方法将Topology提交到Jstorm集群,其核心代码如下:
在submitTopology方法中,Jstorm要求每个topology名称必须唯一, 通过submitJar(conf)上传Jar包到ZK,再使用语句client.getClient().submitTopologyWithOpts(name, path, serConf, topology, opts)通过Thrift将topology提交到集群。
NimbusClient提交之后,NimbusSever通过com.alibaba.jstorm.daemon.nimbus.ServiceHandler.submitTopologyWithOpts(String topologyname, String uploadedJarLocation, String jsonConf,
StormTopology topology, SubmitOptions options)处理接收到的topology,其具体逻辑如下:
运行一个topology,在zk上的目录如下:
相关文章推荐
- Javascript之响应式相册
- JStorm-2.1.1初识及提交同名的Topology
- JavaScript-在画布上让物体移动
- JS获取当前时间年月日时分秒
- JavaScript中清空数组的三种方式
- JS判断设备类型
- json_decode详解
- JS中一些常用函数学习总结
- Same Tree
- Intersection of Two Arrays
- Invert Binary Tree
- javascript之String对象
- showdown.js记录
- 玩转JavaScript OOP[3]——彻底理解继承和原型链
- 玩转JavaScript OOP[3]——彻底理解继承和原型链
- [TypeScript] Using Lodash in TypeScript with Typings and SystemJS
- JSP翻译到servlet的理解
- JSP内置对象和作用域
- JSONModel几个属性
- JSONModel 使用特性