分享

storm中worker数量设置

各位大虾:
现有如下问题,求助各位。
storm的worker数量应该按照什么规则去创建。是按照CPU核数创建?比如storm为8核,就定义8个worker么?
还是其他的规则。不慎感激。

已有(6)人评论

跳转到指定楼层
nextuser 发表于 2017-5-11 16:25:03


storm里worker可以自定义。跟核数应该没有太大关系

每台Supervisor上运行着若干个worker进程,在Configure对象中可以配置worker的数量,conf.setNumWorkers(number);每台worker node上可以运行很多个worker,每个worker会开辟很多Executor线程来执行Task。在Storm看来,spout和bolt都是task。


1.png

上面及图示表示了他们之间的关系。worker里面是线程,线程的多少与我们的核数多少没有太大关系。比如window 2000 1G与10G系统线程应该是差不多的.当然如果cpu,核数够多,worker可以更多一些。
回复

使用道具 举报

qcbb001 发表于 2017-5-11 21:32:48
可以通过setNumWorkers来设置个数
builder.setBolt("cpp", new CppBolt(), 3).setNumTasks(5).noneGrouping(pre_name);
Config conf = new Config();
conf.setNumWorkers(3);

来自:
Strom Topology执行分析:worker数,Bolt实例数,executor数,task数
http://www.aboutyun.com/forum.php?mod=viewthread&tid=7575


回复

使用道具 举报

骑士叔叔 发表于 2017-5-12 15:12:20
qcbb001 发表于 2017-5-11 21:32
可以通过setNumWorkers来设置个数
builder.setBolt("cpp", new CppBolt(), 3).setNumTasks(5).noneGroupin ...

谢谢解答。
回复

使用道具 举报

骑士叔叔 发表于 2017-5-12 15:13:30
nextuser 发表于 2017-5-11 16:25
storm里worker可以自定义。跟核数应该没有太大关系

每台Supervisor上运行着若干个worker进程,在Con ...

谢谢解答,如果是八核,正常可以配置多少个worker呢?
现在我们配置的是8个,感觉资源有浪费。
回复

使用道具 举报

sstutu 发表于 2017-5-12 15:24:03
骑士叔叔 发表于 2017-5-12 15:13
谢谢解答,如果是八核,正常可以配置多少个worker呢?
现在我们配置的是8个,感觉资源有浪费。

这个都是根据自己的条件。如果有剩余可以多设置几个
回复

使用道具 举报

骑士叔叔 发表于 2017-5-12 15:27:43
sstutu 发表于 2017-5-12 15:24
这个都是根据自己的条件。如果有剩余可以多设置几个

你好。
按照你的经验,对于8核的服务器,设置多少个worker比较合适。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条