storm 实时路况分析

storm源碼分析之任務分配task assignment 2015-10-19

在"storm源码分析之topology提交过程"一文最后,submitTopologyWithOpts函数调用了mk-assignments函数.该函数的主要功能就是进行topology的任务分配(task ass

Storm源碼分析Topology SubmitExecutor 2015-10-19

在worker中通过executor/mk-executor worker e, 创建每个executor (defn mk-executor [worker executor-id] (let [executor-data (mk-executor-data worker executor-id)

Storm源碼分析Topology SubmitWorker 2015-10-19

Storm源碼分析Topology SubmitWorker
1 mk-worker 和其他的daemon一样, 都是通过defserverfn macro来创建worker (defserverfn mk-worker [conf shared-mq-context storm-id assignment-id port worker-id] (log-me

Storm源碼分析Topology SubmitSupervisor 2015-10-19

mk-supervisor (defserverfn mk-supervisor [conf shared-context ^ISupervisor isupervisor] (log-message "Starting Supervisor with conf " conf) (.prepare isupervisor conf (supervisor-isupervisor-dir conf)) ;;初始化supervisor-id,并存在localstate中(参考ISuperv

Storm源碼分析Topology SubmitNimbus 2015-10-20

Storm源碼分析Topology SubmitNimbus
Nimbus Server Nimbus server, 首先从启动命令开始, 同样是使用storm命令"storm nimbus"来启动 看下源码, 此处和上面client不同, jvmtype="-server", 最终调用"backtype.storm.daemon.nimbus"的main

Storm源碼分析Topology SubmitNimbusmkassignments 2015-10-20

Storm源碼分析Topology SubmitNimbusmkassignments
什么是"mk-assignment", 主要就是产生executor->node+port关系, 将executor分配到哪个node的哪个slot上(port代表slot, 一个slot可以run一个worker进程, 一个worker包含多个executor线程) 先搞清什么是executor,

Storm源碼分析Topology SubmitExecutormkthreads 2015-10-19

Storm源碼分析Topology SubmitExecutormkthreads
  对于executor thread是整个storm最为核心的代码, 因为在这个thread里面真正完成了大部分工作, 而其他的如supervisor,worker都是封装调用. 对于executor的mk-threads, 是通过mutilmethods对spout和bolt分别定义不同的逻辑

Storm源碼分析Topology SubmitTask 2015-10-19

mk-task, 比较简单, 因为task只是概念上的结构, 不象其他worker, executor都需要创建进程或线程 所以其核心其实就是mk-task-data, 1. 创建TopologyContext对象, 其实就是把之前的topology对象和worker-data混合到一起, 便于ta

Storm源碼分析 hook (backtype.storm.hooks) 2015-10-19

task hook 在某些task事件发生时, 如果用户希望执行一些额外的逻辑, 就需要使用hook 当前定义如下事件, emit, cleanup, spoutAck-- 用户只需要开发实现ITaskHook的类,

Storm源碼分析 metric 2015-10-19

首先定义一系列metric相关的interface, IMetric, IReducer, ICombiner (backtype.storm.metric.api) 在task中, 创建一系列builtin-met

Storm源碼分析Stats (backtype.storm.stats) 2015-10-19

会发现, 现在storm里面有两套metrics系统, metrics framework和stats framework 并且在所有地方都是同时注册两套, 貌似准备用metrics来替代stats, 但当前版本UI

Storm源碼分析 Disruptor在storm中的使用 2015-10-19

Storm源碼分析 Disruptor在storm中的使用
Disruptor 2.0, (http://ifeve.com/disruptor-2-

Storm源碼分析 Multimethods使用例子 2015-10-19

1. storm通过multimethods来区分local和distributed模式 当调用launch-worker的时候, clojure会自动根据defmulti里面定义的fn来判断是调用哪个版本的laun
一周排行