Parallel processing 在Storm中配置并行性
我是ApacheStorm新手,我正在尝试为自己弄清楚如何配置Storm并行性。所以有一篇很棒的文章“,但它只会引起问题 当您拥有多节点storm群集时,每个拓扑将根据Parallel processing 在Storm中配置并行性,parallel-processing,apache-storm,Parallel Processing,Apache Storm,我是ApacheStorm新手,我正在尝试为自己弄清楚如何配置Storm并行性。所以有一篇很棒的文章“,但它只会引起问题 当您拥有多节点storm群集时,每个拓扑将根据拓扑\u WORKERS配置参数作为一个整体分布。因此,如果你有5个工人,那么你有5份喷口(每个工人1份),螺栓也是一样 如何在风暴群内部处理此类情况(最好不创建外部服务): 我需要所有拓扑实例都使用一个喷口,例如,如果输入数据通过一个网络文件夹推送到集群,该文件夹将被扫描以查找新文件 混凝土类型的螺栓也存在类似问题。例如,当数据
拓扑\u WORKERS
配置参数作为一个整体分布。因此,如果你有5个工人,那么你有5份喷口(每个工人1份),螺栓也是一样
如何在风暴群内部处理此类情况(最好不创建外部服务):
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("0-spout", new MySpout(), spoutParallelism).setNumTasks(spoutTasks);
因为整个集群只需要一个喷口,所以您需要将
spoutParallelism
和spoutTasks
都设置为1。不,您错了,实例(任务)的数量是集群的。不是每个工人。5个工人并不意味着5份喷口。如果你想制作5份喷口副本,你必须为该喷口制作5名执行人。每个辅助进程运行拓扑的某些部分。如果您有5个辅助线程,这意味着有5个辅助线程可用于运行N个螺栓执行器+N个喷嘴执行器。谢谢!关于第二个问题。我可以说storm是“只在这台机器上启动这样的螺栓”吗?不,storm会自动确定哪些工人在哪台机器上运行。@Redwan有关在特定机器上运行特定螺栓的信息,请查看