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
一周排行
  • 网上看到一些教程,但都不是很详细,做到一半就夭折了,所以这里做了一个图文版,全程实现. 一.第一步建立项目mysite python django-admin.py startproject mysite 建立mys
  • 什么是TSD   为了Angular2做了一些技术准备. 首先遇到的是TSD,其实我们哪怕不需要它也没有关系,但……TypeScript毕竟还是比较新,我们很难知道目前现流行的一些库是否已经开始支持TypeScrip
  • 昨天客户反映说在下午某时间段有几个事务失敗了,让我查下当时数据库系统的负载是否正常,看了下CPU的历史负载,很正常,于是看了下日志发现有几个timeout错误和一个ORA-02050错误. Tue Feb 15 20
  • 1.飞思卡尔i.MX6q安装ubuntu14.04操作系统:http://demo.netfoucs.com/bzw073/article/details/42551399   2. DS-5社区版安装:http:/
  • Minimit Anima – 硬件加速的 CSS3 動畫插件
    Minimit Anima 是一个实现 CSS3 Transforms 和 Transit
  • 运行/usr/local/apache2/bin/apachectl -t时出错: [[email protected] httpd-2.2.11]# /usr/local/apache2/bin/apachectl -t
  • 这是内核自带的文档,讲解ARM芯片的内存是如何布局的!比较简单,对于初学者可以看一下!但要想深入理解Linux内存管理,建议还是找几本好书看看,如深入理解Linux虚拟内存,嵌入系统分析,Linux内核分析及程序设计
  • 这个方法
  • 前言 在自定义组件的时候少不了会去处理一些事件相关的东西,关于事件这块网上有很多文章,有说的对的也有说的不对的,我在理解的时候也有过一段时间的迷惑,现在把自己理解的东西写下来,给有相同疑问的朋友提供些思路.    事 ...
  • 


    		    CCIE學習(34)—— EIGRP配置
    ●配置实例 配置目标: 1)在所有接口上激活EIGRP(R1,R2,R4,R5). 2)设