上一篇文章我们通过 Storm 的本地模式对其编程模型进行了讲述....
本篇文章我们来讲一讲 Storm 的集群:
从上图我们大概可以看到 Storm 的基本架构包括:(以下文本来源于此处)
从架构图我们可以知道,Storm 的 主节点 Nimbus 和 从节点Supervisor 不会直接进行通讯,而是依赖于 zookeeper 这个组件,这也是Storm的一个设计巧妙之处,很好的避免了 主从之间依赖而产生的系列问题
安装什么的比较简单,这里就不再造轮子了,
可以看下这篇
这里有张部署完之后,各个节点本地的目录树图
public static void main(String[] args) {
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("textSpout", new MySpout(), 3);
builder.setBolt("MyBolt", new MyBolt(), 3).shuffleGrouping("textSpout");
Config config = new Config();
StormTopology topology = builder.createTopology();
if (args.length > 0) {
try {
StormSubmitter.submitTopology(args[0], config, topology);
} catch (AlreadyAliveException e) {
e.printStackTrace();
} catch (InvalidTopologyException e) {
e.printStackTrace();
} catch (AuthorizationException e) {
e.printStackTrace();
}
} else {
LocalCluster localCluster = new LocalCluster();
localCluster.submitTopology("test", config, topology);
}
}
storm jar xxx.jar com.package,name topologyName
如果一切没有问题,就可以正常执行了