开源分布式实时计算引擎 Iveely Computing 之 本地调试Topology(4)

时间:2023-03-08 15:51:50

当我们写完一个比较复杂的Topology之后,倘若直接提交到服务器上运行,难免会有很多问题,如何进行本地的调试Topology,是我们非常关心的问题。我们依然以WordCount作为代码示例。

首先,必须调整main函数。

开源分布式实时计算引擎 Iveely Computing 之 本地调试Topology(4)

当main函数中,设定薇本地模式后,即可直接如调试Java应用程序一样,调试相应的代码,由于本地调试中,Computing会运行一个Local Cluster,因此在调试的时候,一样要添加对zookeeper的引用,如下:

开源分布式实时计算引擎 Iveely Computing 之 本地调试Topology(4)

但是,在最终打包的到服务器上运行的时候,无须将zookeeper打包。针对调试中,你可以看到各个Output和Input的日志。

例如各个Output和Input启动的日志,如下图所示,共启动了4个WordOutput和1个WordInput,这是在main函数中,自行设定的。

开源分布式实时计算引擎 Iveely Computing 之 本地调试Topology(4)

上图是启动的日志,还会看到结束的日志:

开源分布式实时计算引擎 Iveely Computing 之 本地调试Topology(4)

通过上图可以看到,各个字符的统计个数,还可以看到每个词落到的节点,最终以Input的结束为整个Topology的结束。

总结:通过设定参数,自动搭建Local Cluster为程序提供本地调试条件。