• 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任务的实时输出

  • 相关阅读:
    Servlet访问第一次500,刷新后404的解决办法
    关于eclipse保存代码很慢,提示the user operation is waiting的问题
    编译时,运行时解释
    JDK、JRE、JVM
    IDEA使用maven中tomcat插件启动项目乱码问题
    treeGrid树形数据表格的json数据格式说明
    Maven最佳实践:Maven仓库(转)
    intelliJ idea debug模式下启动慢的原因
    基于 Annotation 拦截的 Spring AOP 权限验证方法
    化繁为简 如何向老婆解释MapReduce?(转载)
  • 原文地址:https://www.cnblogs.com/shay-zhangjin/p/7801147.html
Copyright © 2020-2023  润新知