更新时间:2024-04-23 GMT+08:00
分享

Daas-develop-agent部署

服务介绍

  • 背景:原dass开发平台中实时任务是采用api接口的方式去停止yarn任务,停止速度慢。据客户方滔博反馈,当任务运行比较久是任务数据比较多,停止起来速度非常慢,严重影响体验,必须优化,因此采用在yarn部署agent,通过agent执行flink命令行的方式去停止yarn任务。
  • 定位:本项目现期功能是用来停止yarn实时任务,未来不排除拓展功能。

环境要求

JDK已安装好(1.8)

安装机器

项目使用的开发环境、生产环境yarn资源所在机器,如图:

图1 安装机器

上传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="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 &
  2. 配置项说明
    1. -Drocketmq.nameServer="10.54.16.9:9876"

      对应环境的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 配置附加说明

    在客户的环境上部署时,通常来说同一套yarn资源不会存在开发/测试/生产/...各个环境共用的问题,因此只需要配置对应环境信息即可,启动时只启一个实例。

  4. 新建启动脚本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

相关文档