地图-spark提交服务

时间:2025-02-12 14:52:48

spark提交服务

  1. 服务分布:
    表1 服务分布

    服务名

    服务器

    安装目录

    端口

    data-spark-submit

    10.190.x.x

    10.190.x.x

    /app/dt/data-spark-submit

    8087

  2. 安装spark提交服务
    1. 修改配置文件application-dev.yml
      • 修改stdms.callback.url中的ip和端口,配置为CIM数据汇聚管理平台的ip和端口
      • 当使用minio存储日志时,配置log.server.enable为true,并配置日志服务(data-log-manage)的ip和端口;

      当使用本地文件存储日志时,配置log.server.enable为false

      ```yml# 服务端口server:  port: 8087# 任务执行完成,回调CIM数据汇聚管理平台接口stdms:  callback:    url: http://192.168.32.89:9090/stdms/feed-back/ch-task-status?objectId=%s&status=%d# 是否将日志发送到日志服务并存储到miniolog:  service:    enable: false    url: http://127.0.0.1:8089/save# 通过minio中转传输脚本文件minio:  endpoint: http://192.168.32.227:9000  access-key: admin  secret-key: Admin123@minio# 生产打开下面配置,使用jar同级config目录配置文件logging:  config: config/log4j2.xml```
    2. 启动、停止
      • 启动:

        进入data-spark-submit.jar所在路径,执行

        ```shellnohup java -jar data-spark-submit.jar &```
      • 停止:
        Kill -9 进程号
    3. 服务验证
      • 服务启动验证与版本信息查询

        将以下地址中的ip和端口修改为实际部署ip和端口,请求接口,查看版本信息

        请求地址:http://localhost:8087/about

        请求方式:GET

      • 服务功能验证

        任务提交验证:将以下地址中的ip和端口修改为实际部署ip和端口,在minio中创建桶data-mining-spark,将test文件夹中的test.py脚本上传至桶data-mining-spark的根路径下,请求以下接口

        请求地址:http://localhost:8087/spark-submit

        请求方式:POST

        请求参数体:

        ```json{    "taskName": "app",    "taskId": "1",    "fileLocation": "minio",    "master": "local",    "deployMode": "client",    "appResource": "test.py",    "jars": "",    "mainClass": "",    "pyFiles": "",    "verbose": false,    "conf": {        "spark.driver.memory": "1g",        "spark.executor.memory": "1g",        "spark.executor.cores": "2",        "spark.kryoserializer.buffer.max": "1",        "spark.default.parallelism": "100",        "spark.shuffle.service.enabled": "false",        "spark.dynamicAllocation.minExecutors": "1",        "spark.dynamicAllocation.maxExecutors": "2",        "spark.dynamicAllocation.enabled": "false"    },    "appArgs": []}```

        返回结果示例:

        ```json{    "success": true,    "message": "提交spark任务成功",    "content": {        "taskId": "1",        "taskName": "app",        "createTime": "2022-08-16 18:27:24",        "applicationId": "local-1660645647751"    }}```
support.huaweicloud.com/sfmcdtp-mapslt/sfmcdtp_19.html