Storm 配置图文解析

參考阅读:http://www.xiaofateng.com/?

p=959

     ==============================
| sample-topology |
| ------------------------ | Task 1 Task 2 Task 3
| | Worker Process 1 | | T1 T2 T3
| | +--------+ | | Spout => Bolt => Bolt
| | +------+ | +----+ | | | parallelism parallelism parallelism
| | | T3 | | | T2 | | | | hint=2 hint=2 hint=6
| | +------+ | +----+ | | |
| | | +----+ | | | combined parallelism = 2 + 2 + 6 = 10
| | +------+ | | T2 | | | |
| | | T3 | | +----+ | | | Each of the 2 worker processes will spawn 10/2=5 threads
| | +------+ +--------+ | |
| | | | T1: parallelism hint = initial executors
| | +------+ +--------+ | |
| | | T3 | | T1 | | | T2: the T2 bolt was configured to use 2 executors and four tasks.
| | +------+ +--------+ | | For this reason each executor runs two tasks for this bolt.
| ------------------------ |
| |
| ------------------------ | Config conf = new Config();
| | Worker Process 2 | |
| | +--------+ | | // run as 2 workers on 2 supervisors
| | +------+ | +----+ | | | conf.setNumWorkers(2);
| | | T3 | | | T2 | | | |
| | +------+ | +----+ | | | // T1: 2 executors for spout
| | | +----+ | | | topologyBuilder.setSpout("T1-spout", new T1Spout(), 2);
| | +------+ | | T2 | | | |
| | | T3 | | +----+ | | | // T2: 2 executors for bolt with total 4 tasks
| | +------+ +--------+ | | topologyBuilder.setBolt("T2-bolt", new T2Bolt(), 2)
| | | | .setNumTasks(4).shuffleGrouping("T1-spout");
| | +------+ +--------+ | | // T3: 6 executors for bolt (default 1 task for 1 executor)
| | | T3 | | T1 | | | topologyBuilder.setBolt("T3-bolt", new T3Bolt(), 6).shuffleGrouping("T2-bolt");
| | +------+ +--------+ | |
| ------------------------ | StormSubmitter.submitTopology("sample-topology", conf, topologyBuilder.createTopology());
==============================

说明:

一个worker进程(process)会产生N个线程(executor),那么并行度(parallelism)就是全部线程的数目。setNumWorkers

任务(task)是线程运行的工作队列。线程的任务数说明线程的吞吐能力。一个线程的各个任务之间并非并发的。

setNumTasks

线程(executor)是运行任务的上下文环境。

參照上图理解各个配置的含义。

Storm 配置图文解析的更多相关文章

  1. (转)超详细单机版搭建hadoop环境图文解析

                        超详细单机版搭建hadoop环境图文解析   安装过程: 一.安装Linux操作系统 二.在Ubuntu下创建hadoop用户组和用户 三.在Ubuntu下安装 ...

  2. win7下IIS的安装和配置 图文教程

    转自   http://www.jb51.net/article/29787.htm 最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功.在博客里记录一下,给需要的 ...

  3. 数据结构图文解析之:直接插入排序及其优化(二分插入排序)解析及C++实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  4. 数据结构图文解析之:数组、单链表、双链表介绍及C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  5. 数据结构图文解析之:栈的简介及C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  6. 数据结构图文解析之:队列详解与C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  7. 数据结构图文解析之:AVL树详解及C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  8. 数据结构图文解析之:二叉堆详解及C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

  9. 数据结构图文解析之:哈夫曼树与哈夫曼编码详解及C++模板实现

    0. 数据结构图文解析系列 数据结构系列文章 数据结构图文解析之:数组.单链表.双链表介绍及C++模板实现 数据结构图文解析之:栈的简介及C++模板实现 数据结构图文解析之:队列详解与C++模板实现 ...

随机推荐

  1. C#引用非托管.dll

    C#里调用非托管的Dll 今天花了一些精力来调查了一下C#里调用非托管的Dll,C#里调用非托管的Dll要使用P/Invoke平台调用技术, 这里先简单介绍一下P/Invoke平台调用技术.    由 ...

  2. 开发板-PC机(宿主机)-虚拟机(VM)之间网络通信设置方法及须要注意的问题

    1.不使用路由器交换机 硬件连接: 使用网线将开发板和PC机相连 串口线将PC机和开发板相连 使用命令: ifconfig -a 串口控制端查看开发板的网络配置 route -n 串口控制端查看开发板 ...

  3. 碰撞缓冲效果的导航条 js

  4. 在Windows Server 2008 R2 中架设 SMTP 服务器

    安装SMTP服务器 Step 1 在功能里面勾选SMTP 服务器,一路下一步完成安装 Step 2 在IIS6的SMTP属性里面的访问标签点击连接,然后设置本机可访问. (其实可以不用设置) Step ...

  5. 利用GDataXML解析XML文件

    1.导入GDataXMLNode.h 和 GDataXMLNode.m文件 2.导入libxml2库文件 3.工程target下Bulid Settings  搜索search 找到Hearder S ...

  6. json所需jar包 & js解析后台json数据

    Json 所需jar包: var listxxx='<%=request.getAttribute("listxxx")%>';  // list数组 var mapx ...

  7. poj 1850/poj 1496

    http://poj.org/problem?id=1850 -----------------http://poj.org/problem?id=1496 两题解法类似..本题为组合数学的题,要求所 ...

  8. 转: css实现垂直居中的方法

    利用 CSS 来实现对象的垂直居中有许多不同的方法,比较难的是选择那个正确的方法.我下面说明一下我看到的好的方法和怎么来创建一个好的居中网站. 用 CSS 实现垂直居中并不容易.有些方法在一些浏览器中 ...

  9. Ruby学习: 类变量和类方法

    一.类变量 在ruby中,可以为类定义类变量,类变量的值为类的所有实例(对象)所共享. 有点类似其它语言(如java)中的静态变量,但与java中的静态变量的区别是, 类变量是私有的,无法在类的外部访 ...

  10. wiki oi 3115高精度练习之减法

    题目描述 Description 给出两个正整数A和B,计算A-B的值.保证A和B的位数不超过500位. 输入描述 Input Description 读入两个用空格隔开的正整数 输出描述 Outpu ...