第一个storm代码-wordcount-本地模式

 

     代码都是差不多的,一个spout,三个bolt,一个topology,就说几个小问题:

    1.书上给的代码用了一个Utils.waitForMillis(1)在spout里,一个waitForSeconds(10)在topology里,我用的storm-core是1.0.2版本的(别的版本莫名其妙依赖包有点小问题,书上用的是0.9.1-incubating),这两个方法是没有的,改为使用Utils.sleep();

    2.由于我参数写错了,报了个空指针异常,this.collector.emit(new Values(sentences[index]));在这句话,我以为是Index,但是验证了一下不是index空指针,哦,这句话还有个this或者this.collector可能报空指针,之所以怀疑this,是我不确定这样运行对不对,然后注意到open函数里的那行this.collector=collector有warning黄线,原来是我不小心照着书上的代码敲上来了,我的open函数的参数命名是arg2,改了之后ok;

    3.加入storm-core依赖时:写代码的时候发现BaseRichBolt包都没法import,不存在?然后去看了jar包里面的东西,空的,原来是core的jar包没下载下来,去maven包下把已经下载的storm-core该版本的目录删掉,重新下载就好了(具体报错我忘了,粘到baidu上查一下,diy一下解决办法就OK,估计是重复下载出了什么问题)


    明天看一下第一章剩下的部分。








猜你喜欢

转载自blog.csdn.net/xerjava/article/details/78429964