Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
2015-01-24 17:34
190 查看
在创建Storm的Topology时,我们通常使用如下代码:
builder.setBolt("cpp", new CppBolt(), 3).setNumTasks(5).noneGrouping(pre_name);
Config conf = new Config();
conf.setNumWorkers(3);
参数1:bolt名称 "cpp"
参数2:bolt类型 CppBolt
参数3:bolt的并行数,parallelismNum,即运行topology时,该bolt的线程数
setNumTasks() 设置bolt的task数
noneGrouping() 设置输入流方式及字段
conf.setNumWorkers()设置worker数据。
经过多次试验总结,得出如下结论:
Topology的worker数通过config设置,即执行该topology的worker(java)进程数。它可以通过storm rebalance 命令任意调整。Topology中某个bolt的executor数,即parallelismNum,即执行该bolt的线程数,在setBolt时由第三个参数指定。它可以通过storm rebalance 命令调整,但最大不能超过该bolt的task数;
bolt的task数,通过setNumTasks()设置。(也可不设置,默认取bolt的executor数),无法在运行时调整。
Bolt实例数,这个比较特别,它和task数相等。有多少个task就会new 多少个Bolt对象。而这些Bolt对象在运行时由Bolt的thread进行调度。也即是说builder.setBolt("cpp", new CppBolt(), 3).setNumTasks(5).noneGrouping(pre_name); 会创建3个线程,但有内存中会5个CppBolt对象,三个线程调度5个对象。
相关文章推荐
- Storm的并行度详解 Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
- Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
- Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
- Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
- Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
- strom中worker、task、spout/bolt、executor、component的关系
- strom中worker、task、spout/bolt、executor、component的关系
- (大数据之storm)strom中worker、task、spout/bolt、executor、component的关系
- Storm有关worker、task、spout/bolt、executor、component之间的关系
- jbpm4.4所有指定流程实例id 下所有已经执行的task
- storm中supervisor, task, worker, spout, bolt之间的关系
- Hadoop MapReduce之ReduceTask任务执行(三):Merger线程分析
- ThreadPoolTaskExecutor 多线程分解执行耗时任务与单线程串行执行简单比较
- strom中worker、task、spout/bolt、executor、component的关系
- 【原】storm源码之理解Storm中Worker、Executor、Task关系
- go语言执行等待直到后台goroutine执行完成实例分析
- ExecutorService+FutureTask实现程序执行超时监控
- Apache Ant中任务(Task)的执行原理实例说明
- spark内核揭秘-13-Worker中Executor启动过程源码分析
- Asp.Net(C#)自动执行计划任务的程序实例分析