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