04_Storm编程上手_WordCount集群模式运行

1. 要解决的问题:代码打包

前一篇的代码,在IDEA中通过maven工程创建,通过IDEA完成代码打包

1)File -> Project Structure

 2) 选择Artifacts, 并点击加号进行新建

3)选择JAR,并根据module依赖关系进行

4)选择 主类,并设置Manifest文件创建在target\classes文件夹下(manifest文件主要是说明哪一个class是主类,class在哪些第三方依赖包内)

5) 根据需要,将必要的第三方依赖包加入(由于是要上传到集群,而storm相关的class文件,集群中已经具备,因此并不不要额外添加依赖包),下图演示的是需要将第三方依赖包加入的配置结果

6) 选择Build->Build Artifacts

在弹出的小窗口中,确认选择Build

7)Build完成后,IDEA下方的Event log会给出完成提示

8)项目所在目录,此时会出现1个out目录

进入该目录,并一路向下,就会看到最终打包完成的JAR包

 

 2. 打包代码上传集群

1)在主节点上创建1个目录,放置打包后的JAR文件

以我的为例,JAR文件将放置在/usr/local/src/package目录下,通过winscp或者其他FTP工具将打包好的JAR文件放入即可

 

2)在主节点通过storm jar命令提交拓扑任务

WordCountTopology是代码主类,其中含有main函数并在函数中定义了Topology, WordCount是输入参数,用于给Topology任务取名

 

3)等待终端提交任务,通过如下的信息提示可以确认Topology任务已经成功提交

 

4)通过storm UI查看Topology任务运行情况(http://master:8080)

Topology可视化查看各个组件

 

 

 5)从Topology任务的概况可以看到只有1个worker进程,位于slave2,通过slave2机器上storm安装目录下logs目录中的worker进程日志,可以看到实时输出

注意:putBolt类中最终输出结果,是通过System.out.println()打印结果到终端,在集群行运行时该输出会重定向到worker进程日志

通过  tail -f worker-6703.log 来实时观察Topology任务的实时输出

 

posted @ 2017-11-07 21:20  shayzhang  阅读(594)  评论(0编辑  收藏  举报