二、Topology的并行度

2024-09-05 08:58
文章标签 topology 并行度

本文主要是介绍二、Topology的并行度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、几个概念



Supervisor会监听分配给它那台机器的工作,根据需要启动/关闭工作进程,这个工作进程就是worker。一个topology可能会在一个或者多个工作进程里面执行,每个工作进程执行整个topology的一部分。每一个worker都会占用工作节点的一个端口,这个端口可以在storm.yarm中配置。

每一个Spout和Bolt会被当作很多task在整个集群里面执行。默认情况下每一个task对应到一个线程(Executor),这个线程用来执行这个task。


2、拓扑示例:

<span style="font-size:14px;">Config conf = new Config();
conf.setNumWorkers(2); // 使用两个工作进程topologyBuilder.setSpout("blue-spout", new BlueSpout(), 2); // 设并行度为2,即2个Executor,每个executor下面有一个TasktopologyBuilder.setBolt("green-bolt", new GreenBolt(), 2).setNumTasks(4) // 使用4个任务,每个Execotor执行2个Task.shuffleGrouping("blue-spout");topologyBuilder.setBolt("yellow-bolt", new YellowBolt(), 6)//并行度为6,有6个Executor.shuffleGrouping("green-bolt");StormSubmitter.submitTopology("mytopology",conf,topologyBuilder.createTopology()
);</span>

该拓扑一共有两个工作进程(Worker),2+2+6=10个执行器(Executor),2+4+6=12个任务。因此,每个工作进程可以分配到10/2=5个执行器,12/2=6个任务

3、改变拓扑并行度

Storm一个很好的特性是,可以增加或减少工作进程(Worker)和/或执行器(Executor)的数量而不需要重新启动群集或拓扑,这样的行为被称为再平衡(rebalancing)。

有两种方式可实现拓扑再平衡:

(1)使用Storm Web UI

(2) 使用CLI工具。



这篇关于二、Topology的并行度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1138508

相关文章

处理List采用并行流处理时,通过ForkJoinPool来控制并行度失控的问题

在使用parallelStream进行处理list时,如不指定线程池,默认的并行度采用cpu核数进行并行,这里采用ForJoinPool来控制,但循环中使用了redis获取key时,出现失控。具体上代码。 @RunWith(SpringRunner.class)@SpringBootTest(classes = Application.class)@Slf4jpublic class Fo

多场景建模: STAR(Star Topology Adaptive Recommender)

之前,分享了一篇关于多任务学习的文章:多任务学习MTL模型:MMoE、PLE,同样的还有关于多任务学习中的多目标loss优化策略。 这篇文章则开始一个与多任务学习有着紧密联系的系列:多场景建模学习。 前言 首先,讲一下多任务学习和多场景建模的区别: 多任务学习通常是聚焦于单独一个domain(场景、领域)内的不同任务的处理,即不同任务的label空间是不同的;而多场景建模则是关注于多个do

spark 大型项目实战(四十一):算子调优之使用repartition解决Spark SQL低并行度的性能问题

并行度:之前说过,并行度是自己可以调节,或者说是设置的。 1、spark.default.parallelism 2、textFile(),传入第二个参数,指定partition数量(比较少用) 咱们的项目代码中,没有设置并行度,实际上,在生产环境中,是最好自己设置一下的。官网有推荐的设置方式,你的spark-submit脚本中,会指定你的application总共要启动多少个executo

SparkCore(11):RDD概念和创建RDD两种方法,以及RDD的Partitions以及并行度理解

一、RDD概念 1.概念 Resilient Distributed Datasets弹性分布式数据集,默认情况下:每一个block对应一个分区,一个分区会开启一个task来处理。 (a)Resilient:可以存在给定不同数目的分区、数据缓存的时候可以缓存一部分数据也可以缓存全部数据 (b)Distributed:分区可以分布到不同的executor执行(也就是不同的worker/NM上执

Primitive Topology

在D3D中, 顶点被存储在一个名为Vertex Buffer的数据结构中, 他是一段连续的内存, 顶点被一个挨一个的存储在这个buffer中. 但问题是这个Vertex Buffer只存储了顶点, 并没有指明这些顶点要如何组成几何原型. 所以在D3D中, 我们指明 Primitive Topology 来告诉D3D如何”看待”这一串顶点数据.   在渲染管线一文中我们知道这部分处理是在INP

Flink 单并行度内使用多线程来提高作业性能

分析痛点 笔者线上有一个 Flink 任务消费 Kafka 数据,将数据转换后,在 Flink 的 Sink 算子内部调用第三方 api 将数据上报到第三方的数据分析平台。这里使用批量同步 api,即:每 50 条数据请求一次第三方接口,可以通过批量 api 来提高请求效率。由于调用的外网接口,所以每次调用 api 比较耗时。假如批次大小为 50,且请求接口的平均响应时间为 50ms,使用同步

计算机体系结构:并行度与并行体系结构的分类

计算机中常见的并行: 指令级并行(ILP): 利用编译器的帮助和硬件支持(如流水线、超标量架构、推测执行等技术),在单个处理器内同时执行多条指令,以减少指令执行的串行依赖,实现有限程度的数据级并行。 向量体系结构与GPU: 向量处理器或图形处理器(GPU)设计为一次对一组数据(向量或数组)执行相同的单条指令,实现大规模数据级并行。这类架构特别适合处理大规模并行数据运算,如科学计算、图像处理

JTS:Java Topology Suit

接口文档:org.locationtech.jts:jts-core 1.19.0 API。         开发文档:JTS | Documentation。 概述 JTS提供了平面线性几何(planar and linear geometry)与相关的基础几何处理函数(a set of fundamental geometric functions.)。 JTS遵循

MapReduce——ReudceTask并行度决定机制

MapReduce——ReudceTask并行度决定机制 1. Reduce任务的数量(reduce task count): 这是最基本的决定因素之一。在作业启动时,用户可以指定Reduce任务的数量。更多的Reduce任务意味着更多的并行度,因为每个Reduce任务可以在不同的数据分区上独立运行。 2. 输入数据的分区数(number of input partitions):

HackTheBox-Machines--Topology

文章目录 1 端口扫描2 漏洞探测三 权限提升 Topology 测试过程 1 端口扫描 nmap -sC -sV 10.129.23.12 2 漏洞探测     端口扫描发现22和80端口,访问80端口,发现LaTeX方程生成器,访问该按钮发现子域: latex.topology.htb。     将域名添加到hosts文件中 echo "