美文网首页
用ndp部署storm应用

用ndp部署storm应用

作者: yijian2595 | 来源:发表于2018-12-13 15:27 被阅读6次

本文由作者余宝虹授权网易云社区发布。

使用户ndp部署一个Java应用大家都非常熟悉的,但是看到某些同学用非常繁琐的方式部署storm应用的时候,我觉得很有必要整一个帮助教程,ndp帮助文档里面没有,ks论坛上也没有找到,借这个契机对这个问题做一个简短的使用说明。
   首先看看原始的部署storm的方式:
步骤一:切换到目标git分支,在应用目录下执行mvn clean package -Dmaven.test.skip=true 来打包;
步骤二:将打包后的jar包上传到服务端;
步骤三:在服务器终端执行启动命令。
   上面的步骤非常的繁琐,需要服务器的权限,需要vpn,如果事先没有提单申请的话,还必须花点时间等待这个权限下来,除此之外还要使用
NC,SCP,Python SimpleHTTPServer或者图像化的ftp工具Filezilla等上传应用到服务器。有没有有更好更简洁快速的方式的呢,一步搞定呢?答案是肯定的,ndp已经为我们提供了相关的功能。
   如何去做呢,搭建一键化的storm部署环境有下面几个步骤,具体步骤如下(和常规应用部署相同的步骤请参考ndp的使用说明文档):
步骤一:在模块根目录下面创建三个目录,分别是online,qa,test,分别对应三套环境中的启动,停止脚本放入对应的目录下面



start.sh 脚本内容如下:
#!/bin/bash
STORM_HOME=/home/nisp/apache-storm-bin
$STORM_HOME/bin/storm jar /home/nisp/storm-job/risk-detect/risk-storm-jar-with-dependencies.jar com.netease.is.storm.StormRunner risk_detect_topology test

stop.sh 脚本内容如下:
#!/bin/bash
STORM_HOME=/home/nisp/apache-storm-bin
$STORM_HOME/bin/storm kill risk_detect_topology

步骤二:集群配置中选择应用类型,请选择“自定义”选项,其它使用默认值即可;


步骤三:构建配置中,build.xml选项选择“自定义提交”,并将如下的ant脚本复制粘贴进去



上面的ant脚本中指定了启动,停止storm应用脚本的目录位置,这个和步骤一描述的代码结构保持一致。

步骤四:发布配置选择第一模板,并填写脚本的执行路径(ndp可以执行)


注意:上述命令使用ndp执行时,ndp会使用下面的范式

nohup ${START_CMD} </dev/null >>/home/nisp/risk-detect-storm/risk-detect-storm-test/risk-detect-storm-test/approot/logs/app.log 2>>/home/nisp/risk-detect-storm/risk-detect-storm-test/risk-detect-storm-test/approot/logs/app.log.err &

如果start_cmd填写的是符合命令(包含&&或者;)的话就会提示类似“nohup: failed to run command `cd': No such file or directory”的异常,直接在服务器终端是可以正常执行的,这是因为使用ndp后,ndp将范式改造为nohup `${START_CMD}` </dev/null >>/home/nisp/risk-detect-storm/risk-detect-storm-test/risk-detect-storm-test/approot/logs/app.log 2>>/home/nisp/risk-detect-storm/risk-detect-storm-test/risk-detect-storm-test/approot/logs/app.log.err &后才可以使用符合命令,就现在而言复杂的命令可以都写在脚本里面,外面使用简单命令。

完成上面的四个步骤以后就可以直接通过ndp构建发布storm应用了,发布构建和普通java项目一样,这里就不赘述了。


还在用原始方法的同学,改造起来吧,借助ndp每次5分钟变5s钟不是梦,省下的时间去做些更有意义的事情吧。

免费领取验证码、内容安全、短信发送、直播点播体验包及云服务器等套餐

更多网易技术、产品、运营经验分享请访问网易云社区

相关文章:
【推荐】 SpringBoot入门(三)——入口类解析

相关文章

  • 用ndp部署storm应用

    本文由作者余宝虹授权网易云社区发布。 使用户ndp部署一个Java应用大家都非常熟悉的,但是看到某些同学用非常繁琐...

  • storm集群部署和项目部署

    storm集群部署和项目部署 storm项目部署 使用maven命令把依赖的jar打到target/depende...

  • 测试环境docker化—容器集群编排实践

    本文来自网易云社区 作者:孙婷婷 背景 在前文《测试环境docker化—基于ndp部署模式的docker基础镜像制...

  • 35 redis 缓存冷启动分析及解决思路

    上一篇 如何将代码打包部署到storm 集群运行, 主要讲解了如何将代码打包部署到storm 集群运行,本篇主要讲...

  • 34 如何将代码打包部署到storm 集群运行

    上一篇 storm 集群搭建, 主要讲解storm 集群搭建,本篇结合上一篇如何将代码打包部署到storm 集群运...

  • 怎样用Docker部署前端应用

    怎样用Docker部署前端应用 现在微服务盛行,docker作为容器化工具派上了很大的用场,用docker部署应用...

  • docker部署storm

    docker部署storm 访问 http://192.168.2.214:8887 提交topology集群 官...

  • storm应用

    一份数据,统计每天(日期)的pv(文本数据总数)和uv(用户数) 1)点击一下,会产生一个pv(pageView)...

  • Storm实战之WordCount

    在storm环境部署完毕,并正确启动之后,现在就可以真正进入storm开发了,按照惯例,以wordcount作为开...

  • storm集群部署

    【准备】1:虚拟机奇数台(3)2:java环境(java1.7)3:python环境(python2.7)3:zo...

网友评论

      本文标题:用ndp部署storm应用

      本文链接:https://www.haomeiwen.com/subject/clhbhqtx.html