当我使用storm scheduler时,一个主机可以调度两次吗?

Posted

技术标签:

【中文标题】当我使用storm scheduler时,一个主机可以调度两次吗?【英文标题】:When I use storm scheduler, can one host be scheduled for two times? 【发布时间】:2016-08-25 07:21:36 【问题描述】:

例如

        topology.newStream("process", new RawDataSpout())
                .parallelismHint(1)
                .shuffle()
                .each(new Fields("frameID"), new RawToRgb(), new Fields("frameIDRawToRgbCompleted"))
                .parallelismHint(1)
                .shuffle()
                .each(new Fields("frameID", "frameIDRawToRgbCompleted"), new StereoInit(), new Fields("frameIDInitCompleted"))
                .parallelismHint(1)
                .setMemoryLoad(6144)
                .shuffle()
                .each(new Fields("frameID", "frameIDRawToRgbCompleted", "frameIDInitCompleted"), new StereoRing(), new Fields("frameIDRingCompleted"))
                .parallelismHint(1)
                .shuffle()
                .each(new Fields("frameID", "frameIDRawToRgbCompleted", "frameIDInitCompleted", "frameIDRingCompleted"), new Rendering(), new Fields("frameIDRenderingCompleted"))
                .parallelismHint(1)
                .setMemoryLoad(6144);

如上面的代码,一台主机可以同时运行 StereoInit 和 Rendering 吗?

【问题讨论】:

【参考方案1】:

是的。但默认不保证。

如果您想强制执行此操作,您需要提供自定义调度程序。 示例:https://github.com/xumingming/storm-lib/blob/master/src/jvm/storm/DemoScheduler.java

【讨论】:

以上是关于当我使用storm scheduler时,一个主机可以调度两次吗?的主要内容,如果未能解决你的问题,请参考以下文章

JStorm与Storm源码分析--Scheduler,调度器

Apache Storm:IllegalArgumentException:字段 supervisor.scheduler.meta 必须是“java.util.Map”

Storm2

Storm测试

Storm安装及使用

添加 3 个节点时,Storm Supervisor 未启动 [关闭]