zoukankan      html  css  js  c++  java
  • 04_Storm编程上手_WordCount集群模式运行

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

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

    1)File -> Project Structure

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

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

    4)选择 主类,并设置Manifest文件创建在targetclasses文件夹下(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任务的实时输出

  • 相关阅读:
    MyBatis学习总结_17_Mybatis分页插件PageHelper
    MyBatis学习总结_16_Mybatis使用的几个建议
    MyBatis学习总结_15_定制Mybatis自动代码生成的maven插件
    MyBatis学习总结_14_Mybatis使用技巧总结
    MyBatis学习总结_13_Mybatis查询之resultMap和resultType区别
    Git实战之Git创建版本库
    Oracle数据库之日期函数
    Oracle数据库之单表查询
    版本发布后测试人员需要做的工作
    oracle数据库之数据插入、修改和删除
  • 原文地址:https://www.cnblogs.com/shay-zhangjin/p/7801147.html
Copyright © 2011-2022 走看看