当我们写完一个比较复杂的Topology之后,倘若直接提交到服务器上运行,难免会有很多问题,如何进行本地的调试Topology,是我们非常关心的问题。我们依然以WordCount作为代码示例。
首先,必须调整main函数。
当main函数中,设定薇本地模式后,即可直接如调试Java应用程序一样,调试相应的代码,由于本地调试中,Computing会运行一个Local Cluster,因此在调试的时候,一样要添加对zookeeper的引用,如下:
但是,在最终打包的到服务器上运行的时候,无须将zookeeper打包。针对调试中,你可以看到各个Output和Input的日志。
例如各个Output和Input启动的日志,如下图所示,共启动了4个WordOutput和1个WordInput,这是在main函数中,自行设定的。
上图是启动的日志,还会看到结束的日志:
通过上图可以看到,各个字符的统计个数,还可以看到每个词落到的节点,最终以Input的结束为整个Topology的结束。
总结:通过设定参数,自动搭建Local Cluster为程序提供本地调试条件。