分享

请教storm原理性问题-同一个topology可以在不同的supervisor上运行吗?

我的问题已经在标题中描述出来了,下面我详细的描述下我的问题。看了storm,知道他用nimbus\zk\supervisor通过主从结构来搭建集群,同时supervisor下面又分work(进程)、executor(线程)

然后我的问题是,当提交一个topology的时候,nimbus有没有可能将同一个topology的task分配到不同的supervisor的executor上执行?

我画了张图,希望能更好的表达我的意思。

topology在不同节点间的交互

topology在不同节点间的交互

已有(2)人评论

跳转到指定楼层
atsky123 发表于 2016-3-31 15:46:14
应该是可以的
下面供楼主参考
一个storm topology运行起来之后, 会在supervisor 机器上启动一些进程来运行spout和bolt实例.

如果一个topology里面一共有一个spout, 一个bolt。 其中spout的parallelism是2, bolt的parallelism是4, 那么我们可以把这个topology的总工作量看成是6, 那么一共有6个task,那么/tasks/{topology-id}下面一共会有6个以task-id命名的文件,其中两个文件的内容是spout的id, 其它四个文件的内容是bolt的id。


回复

使用道具 举报

pengsuyun 发表于 2016-4-1 06:28:14
atsky123 发表于 2016-3-31 15:46
应该是可以的
下面供楼主参考

我找了些资料,然后思考了下,觉得应该也是可以。
因为topology可以通过work提供并发度,一台supervisor上面可以运行的work必然有限,如果需要扩展的话,就需要在多台supervisor的work,

所以我觉得是可以的。
回复

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条