Daas-develop-agent部署
服务介绍
- 背景:原dass开发平台中实时任务是采用api接口的方式去停止yarn任务,停止速度慢。据客户方滔博反馈,当任务运行比较久是任务数据比较多,停止起来速度非常慢,严重影响体验,必须优化,因此采用在yarn部署agent,通过agent执行flink命令行的方式去停止yarn任务。
- 定位:本项目现期功能是用来停止yarn实时任务,未来不排除拓展功能。
环境要求
JDK已安装好(1.8)
安装机器
项目使用的开发环境、生产环境yarn资源所在机器,如图:
上传jar包
- 登录项目中配置的yarn资源所在机器,即上一步骤所指机器
- 创建目录
- cd /data
- mkdir daas-develop-agent
- cd daas-develop-agent
- 上传deepexi-daas-develop-agent-1.0.0-SNAPSHOT.jar至当前目录
修改配置
- 新建启动脚本start.sh,内容如下:
nohup java -Denv=dev-test -Dserver.port=9099 -Drocketmq.nameServer="10.54.16.9:9876" -Drocketmq.topic.group.tag.realtime.job.operate=cluster2-hadoop01-tst-daas-deepexi -jar deepexi-daas-develop-agent-1.0.0-SNAPSHOT.jar > dev-test-log & # uat环境 nohup java -Denv=uat -Dserver.port=9098 -Drocketmq.nameServer="10.54.16.39:9876;10.54.16.39:9877" -Drocketmq.topic.group.tag.realtime.job.operate=cluster2-hadoop01-tst-daas-deepexi -jar deepexi-daas-develop-agent-1.0.0-SNAPSHOT.jar > uat-log & # prd环境 nohup java -Denv=prd -Dserver.port=9097 -Drocketmq.nameServer="10.54.16.31:9876;10.54.16.31:9877" -Drocketmq.topic.group.tag.realtime.job.operate=cluster2-hadoop01-tst-daas-deepexi -jar deepexi-daas-develop-agent-1.0.0-SNAPSHOT.jar > prd-log &
- 配置项说明
- 配置附加说明
因为集群资源现在是各个环境共用的,开发/测试/生产/...各个环境都可以使用此集群的yarn,因此在配置的时候需要把所有集群环境都配置上。启动时会启动多个实例来处理不同环境的任务。配置例如下图:
图2 配置附加说明
在客户的环境上部署时,通常来说同一套yarn资源不会存在开发/测试/生产/...各个环境共用的问题,因此只需要配置对应环境信息即可,启动时只启一个实例。
- 新建启动脚本stop.sh,内容如下:
pid=$(ps -ef | grep "deepexi-daas-develop-agent" | grep -v grep | awk '{print $2}') if [ -n "$pid" ]; then kill -9 $pid; echo "程序停止成功!" else echo "程序不存在!" fi
启动
sh start.sh