且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

《Storm分布式实时计算模式》——2.4 把toplogy提交到集群中

更新时间:2022-10-07 19:26:25

本节书摘来自华章计算机《Storm分布式实时计算模式》一书中的第2章,第2.4节,作者:(美)P. Taylor Goetz Brian O’Neill 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.4 把toplogy提交到集群中

现在我们已经有一个正在运行的Storm集群了,让我们回顾一下前面说的单词计数的例子,然后使之能够像本地模式一样运行在集群环境。前面的例子使用LocalCluster类将topology运行在本地模式:


《Storm分布式实时计算模式》——2.4 把toplogy提交到集群中https://yqfile.alicdn.com/63d28581ae69e11343f78f3caa0f0ee1cb98b094.png" >

提交一个topology到远程集群非常简单,只需要使用StormSubmitter类中同样的方法和名称:


《Storm分布式实时计算模式》——2.4 把toplogy提交到集群中https://yqfile.alicdn.com/77a3a8ff944227119cb8e9fae77ea90535bc93dd.png" >

当开发一个Storm的topology时,通常不想在本地/远程集群模式之间切换部署时修改代码和重新编译。标准的方法是使用一个if/else的条件块,使用命令行参数来决定使用哪种模式,当命令行不带参数时,使用本地模式,反之当使用topology名称做参数时,使用远程集群模式,如下所示:


《Storm分布式实时计算模式》——2.4 把toplogy提交到集群中


《Storm分布式实时计算模式》——2.4 把toplogy提交到集群中https://yqfile.alicdn.com/e6135171e8b49a47604df8fa03f9975deadae0e7.png" >

为了更新单词计数程序到运行中的集群,首先在第2章的代码目录执行Maven的编译命令:


《Storm分布式实时计算模式》——2.4 把toplogy提交到集群中

然后,执行storm jar命令来发布topology:


《Storm分布式实时计算模式》——2.4 把toplogy提交到集群中

当命令执行完毕时,你应该看到topology在Storm UI里已经激活,并且可以点击topology的名称来查看详情和topology的统计信息,如图2-4所示。


《Storm分布式实时计算模式》——2.4 把toplogy提交到集群中