spark提交服务
- 服务分布:
表1 服务分布 服务名
服务器
安装目录
端口
data-spark-submit
10.190.x.x
10.190.x.x
/app/dt/data-spark-submit
8087
- 安装spark提交服务
- 修改配置文件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 # 是否将日志发送到日志服务并存储到minio log: 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 ```
- 启动、停止
- 停止:
Kill -9 进程号
- 停止:
- 服务验证
- 服务功能验证
任务提交验证:将以下地址中的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" } } ```
- 服务功能验证
- 修改配置文件application-dev.yml