2015-02-09 99 views
0

我正面临着为拓扑设置隔离调度程序的问题。 基本上我试图设置一台机器的数量,如下所示。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版本。

回答

-1

这种行为似乎很正常。当添加隔离设置时抽取Storm 0.8.2 release notes

提交给未列出的集群的任何拓扑都不会被隔离。请注意,Storm的用户无法影响其隔离设置 - 只有群集的管理员才允许这种设置(这是非常有意的)。