我遇到了为拓扑设置隔离调度程序的问题。 基本上我正在尝试将机器数设置为一个拓扑,如下所示。
Map<String, Number> topologyToMachines = new HashMap<String, Number>();
topologyToMachines.put(TOPOLOGY_NAME, 1);
config.put(Config.STORM_SCHEDULER, "backtype.storm.scheduler.IsolationScheduler");
config.put(Config.ISOLATION_SCHEDULER_MACHINES, topologyToMachines);
如果我如上所述设置,则nimbus不会为此拓扑专用节点。我已为此拓扑设置了两个工作程序。这两个工作人员被分配到两个节点而不是一个节点。
但如果我通过nimbus节点中的storm.yaml
更改配置并提交相同的拓扑,则只为此拓扑分配一个节点。
这是Storm中的一个错误吗?我使用的是0.9.1版本。
答案 0 :(得分:-1)
这种行为似乎很正常。添加隔离设置后,提取Storm 0.8.2 release notes。
提交到未列在其中的群集的任何拓扑都不会被隔离。请注意,Storm的用户无法影响其隔离设置 - 这只能由群集管理员允许(这非常有意)。