码迷,mamicode.com
首页 > 其他好文 > 详细

storm并行度

时间:2018-05-28 15:02:55      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:gyb   tsp   executor   top   shuffle   conf   RKE   分配   tor   

conf.setNumWorkers(2); // 该Topology运行在Supervisor节点的2个Worker进程中
topologyBuilder.setSpout("blue-spout", new BlueSpout(), 2); // 设置并行度为2,则Task个数为21
topologyBuilder.setBolt("green-bolt", new GreenBolt(), 2)
.setNumTasks(4)
.shuffleGrouping("blue-spout"); // 设置并行度为2,设置Task个数为4 ,则Task个数为4
topologyBuilder.setBolt("yellow-bolt", new YellowBolt(), 6)
.shuffleGrouping("green-bolt"); // 设置并行度为6,则Task个数为6
1
那么,下面我们看Storm是如何计算一个Topology运行时的并行度,并分配到2个Worker中的:

计算Task总数:2乘1+4+6乘1=12(总计创建12个Task实例)
计算运行时Topology并行度:10/2=5(每个Worker对应5个Executor)
将12个Task分配到2个Worker中的5*2个Executor中:应该是每个Worker上5个Executor,将6个Task分配到5个Executor中
每个Worker中分配6个Task,应该是分配3个Yellow Task、2个Green Task、1个Blue Task
Storm内部优化:会把同类型的Task尽量放到同一个Executor中运行 这句话对么???
分配过程:从Task个数最少的开始,1个Blue Task只能放到一个Executor,总计1个Executor被占用;2个Green Task可以放到同一个Executor中,总计2个Executor被占用;最后看剩下的3个Yellow Task能否分配到5-2=3个Executor中,显然每个Yellow Task对应一个Executor

storm并行度

标签:gyb   tsp   executor   top   shuffle   conf   RKE   分配   tor   

原文地址:https://www.cnblogs.com/brainstorm/p/9099714.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!