Storm并发度和Grouping方式

Storm并发度和Grouping方式
.note-content {font-family: "Helvetica Neue",Arial,"Hiragino Sans GB","STHeiti","Microsoft YaHei","WenQuanYi Micro Hei",SimSun,Song,sans-serif;}

.note-content h2 {line-height: 1.6; color: #0AA89E;}
.note-content {background: #FFFFFF;}
.note-content h1 {color: #7AB3A7;}
.note-content h3 {color: #147A67;}

Task数量————->逻辑数量(影响输出结果)

Worker数量———->进程数(影响效率)

Executor数量——–>线程数(影响效率)

1.builder.setSpout("spout",new RandomSentenceSpout(),5).setNumTask(7);2.//5表示有5个Executor,7表示有7个Task
1.Config conf=new Config();2.conf.setDebug(true);3.4.if(args !=null && args.length>0){5.    conf.setNumWorkers(3);6.    /*3表示有3个Worker,但是在本地模式下Worker是不生效的,因为它只会起一个进程来进行这个作业。在集群模式下才生效,而且是一定要设置这个值,因为默认是1,也就是只会起一个进程去跑*/7.}

Grouping方式

分组名 备注
Shuffle Grouping 随机分组
Fields Grouping 按字段分组,保证同字段的数据必然分到同一个Bolt
All Grouping 广播,所有下游只有一个并发时使用
Global Grouping 全局分组,下游只有一个并发时使用
None Grouping 预留,目前等价于Shuffle Grouping
Direct Grouping 直接指明下游的分组,比较底层的API
Local or Shuffle Grouping 功能上类似随机分组,但会尽可能发送给同一个Worker内的bolt,减少网络传输
时间: 2024-11-05 12:03:53

Storm并发度和Grouping方式的相关文章

Storm并发度详解

工作进程(Worker Process) Worker是Spout/Bolt中运行具体处理逻辑的进程.拓扑跨一个或多个Worker进程执行.每个Worker进程是一个物理的JVM和拓扑执行所有任务的一个子集.例如,如果合并并行度的拓扑是300,已经分配50个Worker,然后每个Worker将执行6个任务,Storm会尝试在所有Worker上均匀的发布任务. 执行器(Executor) Executor称为物理线程,每个Worker可以包含多个Executor. 任务(Task) Task是具体

[Storm] 并发度的理解

Tasks & executors relation Q1. However I'm a bit confused by the concept of "task". Is a task an running instance of the component(spout or bolt) ? An executor having multiple tasks actually is saying the same component is executed for multi

Storm并发度

并发度 一个Topology可以包含一个或多个worker(并行的跑在不同的machine上), 所以worker process就是执行一个topology的子集, 并且worker只能对应于一个top  ology 一个worker可用包含一个或多个executor, 每个component (spout或bolt)至少对应于一个executor, 所以可以说executor执行一个compenent的子集, 同时一个executor只能对应于一个component Task就是具体的处理逻

Storm基本概念以及Topology的并发度

Spouts,流的源头 Spout是Storm里面特有的名词,Stream的源头,通常是从外部数据源读取tuples,并emit到topology Spout可以同时emit多个tupic stream,通过OutputFieldsDeclarer中的declareStream,method来定义 Spout需要实现RichSpout端口,最重要的方法是nextTuple,storm会不断调用接口从spout中取数据,同时需要注意的是Spout分为reliable or unreliable两种

关于Storm 中Topology的并发度的理解

来自:http://blog.csdn.net/derekjiang/article/details/9040243 概念理解 原文中用了一张图来说明在一个storm cluster中,topology运行时的并发机制. 其实说白了,当一个topology在storm cluster中运行时,它的并发主要跟3个逻辑实体想过:worker,executor 和task 1. Worker 是运行在工作节点上面,被Supervisor守护进程创建的用来干活的进程.每个Worker对应于一个给定top

storm并发机制,通信机制,任务提交

一.storm的并发 (1)Workers(JVMs):在一个物理节点上可以运行一个或多个独立的JVM进程.一个Topology可以包含一个或多个worker(并行的跑在不同的物理机上),所以worker process就是执行一个topology的子集, 并且worker只能对应于一个topology (2)Executors(threads):在一个workerJVM进程中运行着多个Java线程.一个executor线程可以执行一个或多个tasks.但一般默认每个executor只执行一个t

Storm的并行度、Grouping策略以及消息可靠处理机制简介

概念: Workers (JVMs): 在一个节点上可以运行一个或多个独立的JVM 进程.一个Topology可以包含一个或多个worker(并行的跑在不同的machine上), 所以worker process就是执行一个topology的子集, 并且worker只能对应于一个topology Executors (threads): 在一个worker JVM进程中运行着多个Java线程.一个executor线程可以执行一个或多个tasks.但一般默认每个executor只执行一个task.

storm的八种Grouping策略

在这里,将会提到storm的七种grouping策略,并且编码逐一实现. 首先,需要一个集群(希望尽量模仿真实环境,故就不用本地模式了).详细的安装方法大家可以查看本人的另外一篇博文:storm集群和zookeeper集群的部署过程. OK.现在有三个节点.一个作为nimbus,两个作为supervisor.到这里先介绍一下storm逻辑上有两个component,一个是Spout,另一个是Bolt.stream由Spout发出,在不同的Bolt之间进行处理,在其中传递的是storm的基本处理单

MapReduce计算框架高级特性程序运行并发度

2019/2/19 星期二 MapReduce计算框架高级特性程序运行并发度 所谓的并发度,就是在MapReduce执行程序的过程中有多少个map task进程和reduce task进程,来一起完成程序的处理. MapReduce就是把业务处理逻辑变成分布式来处理. reduce task 数量的决定机制 //全局的聚合操作 由业务场景决定1.业务逻辑需要2.数据量大小设置方法:job.setNumReduceTasks(5) //reduce task的数量不能够任意的指定,比如:我们在一大