Apache风暴配置
问题描述:
我正面临着为拓扑设置隔离调度程序的问题。 基本上我试图设置一台机器的数量,如下所示。Apache风暴配置
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中的一个bug吗?我正在使用0.9.1版本。
答
这种行为似乎很正常。当添加隔离设置时抽取Storm 0.8.2 release notes。
提交给未列出的集群的任何拓扑都不会被隔离。请注意,Storm的用户无法影响其隔离设置 - 只有群集的管理员才允许这种设置(这是非常有意的)。