理解Storm拓扑中“并行度”的概念01

storm拓扑简介

 Storm集群中会存在多个拓扑(topology),每个拓扑可类比于批处理集群中的作业(job)。一个运行中的拓扑主要由三部分构成:工作进程(worker processes)、执行器(executors)和任务(tasks)


理解Storm拓扑中“并行度”的概念01_第1张图片
工作进程、执行器和任务之间的关系

 如上图所示,一个工作进程中运行的是拓扑的一部分,而这个工作进程却只属于当前拓扑。在一个工作进程中可能存在一个或多个执行器(线程),而一个执行器中可能会有一个或者多个任务,这些任务都是为同一个组件(spout 或者 bolt)服务的。一个运行中的拓扑就是由这些运行于 storm 集群中的诸多机器上的多个进程组成的。
 执行器其实是由工作进程生成的线程,而任务则在执行器中实际执行数据处理的最小工作单元。其中任务并不是指线程,而是指用户代码中组件(spout或bolt)的逻辑实现。在拓扑运行过程中每个组件的任务数量是固定的,而执行器和工作进程的数量是可变的。默认情况下 storm 会在每个线程上运行一个任务。

你可能感兴趣的:(理解Storm拓扑中“并行度”的概念01)