博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用ndp部署storm应用
阅读量:6898 次
发布时间:2019-06-27

本文共 1893 字,大约阅读时间需要 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,分别对应三套环境中的启动,停止脚本放入对应的目录下面
5ef4e454-3a21-4136-8d01-2cbfe963c1cc
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
步骤二:集群配置中选择应用类型,请选择“自定义”选项,其它使用默认值即可;
b98ab210-0b69-4145-abd2-b1f00a1da331
步骤三:构建配置中,build.xml选项选择“自定义提交”,并将如下的ant脚本复制粘贴进去
620fd69b-aff5-433a-8f87-ca0429c61bd1
5c3e13d4-3e0a-445c-9cbf-2d867fdfa337
上面的ant脚本中指定了启动,停止storm应用脚本的目录位置,这个和步骤一描述的代码结构保持一致。
步骤四:发布配置选择第一模板,并填写脚本的执行路径(ndp可以执行)
851f74bf-125e-4da2-8599-74b18f5c9e73
注意:上述命令使用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项目一样,这里就不赘述了。

7ce27888-7cc9-4917-97e6-ecd7f25e6ddc?imageView&thumbnail=980x0
还在用原始方法的同学,改造起来吧,借助ndp每次5分钟变5s钟不是梦,省下的时间去做些更有意义的事情吧。

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

相关文章:

【推荐】 
【推荐】 

转载地址:http://uvddl.baihongyu.com/

你可能感兴趣的文章
技术和商业的碰撞,谈阿里云与天猫双11这十年
查看>>
分布式之redis精讲
查看>>
Netty新连接接入与NioSocketChannel分析
查看>>
java B2B2C电子商务平台分析之十一------配置中心和消息总线
查看>>
老牟seo详解模板建站对后期的SEO优化有影响吗?
查看>>
js实现复制功能
查看>>
小命令大作用---Linux 下快速查找
查看>>
如何理解 koa 中间件执行机制
查看>>
关于“深入浅出 React Native:使用 JavaScript 构建原生应用”
查看>>
关于Http协议,你必须要知道的
查看>>
【精选回顾】驱动数字中国-2018杭州·云栖大会
查看>>
Linux启动过程学习
查看>>
【linux+C】神器 vim + 指针相关客串
查看>>
华为 21 级程序员月薪曝光: 270k 封神! 众网友直呼长见识
查看>>
裸辞后,从Android转战Web前端的学习以及求职之路
查看>>
Makefile的常用技术总结
查看>>
java时间工具 判断时间大于一个月,小于一年,时间必须以月为单位分割(欢迎测试)...
查看>>
轻松搞定RabbitMQ开篇:Java消息队列与JMS的诞生
查看>>
MySQL:MGR 学习(2):Write set(写集合)的写入过程
查看>>
Docker+Selenium Grid构建分布式Web测试环境
查看>>