最近更新时间:2024-11-29 13:18:10
本文将以KEC连接KMR Serverless Spark为例,介绍如何通过spark-submit命令行工具进行Ray作业开发。
本文旨在带您快速熟悉操作流程,为您提供了一个作业示例,您可以直接下载以备后续步骤使用。
单击 ksyun-ray-demo.zip,直接下载作业示例。
请将示例文件上传至KS3,具体步骤详见:文件上传。
单击ksc-spark-tool.tar.gz,下载安装包。
将安装包上传至KEC实例,具体步骤详见:上传文件至KEC。
上传完成后,执行以下命令,解压并安装spark-submit工具。
tar -zxvf ksc-spark-tool.tar.gz
执行以下命令,修改connection.properties中的配置。
vim ksc-spark-tool/conf/connection.properties
推荐按照如下内容对文件进行配置,参数格式为key=value
,示例如下。
[Properties]
AccessKeyId ="****"
AccessKeySecret ="*****"
Region ="cn-beijing-6"
WorkspaceId ="xxx"
Endpoint = "http://kmr.cn-beijing-6.api.ksyun.com"
EngineType = "ray"
涉及参数说明如下表所示。
参数 | 是否必填 | 说明 |
AccessKeyId | 是 | 执行Ray作业使用的金山云账号或RAM用户的AccessKey ID。 |
AccessKeySecret | 是 | 执行Ray作业使用的金山云账号或RAM用户的AccessKey Secret。 |
Region | 是 | 地域ID,本文以北京地域为例。 |
WorkspaceId | 是 | KMR Serverless Spark工作空间ID。 |
Endpoint | 是 | KMR Serverless Spark服务地址。 |
EngineType | 否 | ray表示提交rayjob作业,未指定该参数将默认提交spark作业 |
服务接入点
地域名称 | 地域ID | 公网接入地址 | VPC接入地址 |
华北1(北京) | cn-beijing-6 |
执行以下命令,进入KMR ksc-spark-tool工具目录。
cd ksc-spark-tool
请按照以下格式提交任务。
./bin/ksc-spark-tool \
name ray-test \
engine ray \
head-cores 1 \
num-workers 1 \
head-memory 2g \
worker-cores 1 \
worker-memory 2g \
entrypoint-cmd "python ray-test.py" \
runtime-env '{"working_dir":"s3://<yourBucket>/path/to/ksyun-ray-demo.zip"}' \
image hub.kce.ksyun.com/kmr-test/ray:2.30.0-ksyun-hdfs
命令中 "working_dir":"s3://<yourBucket>/path/to/ksyun-ray-demo.zip" 需替换为实际KS3路径。
参数名称 | 示例值 | 是否必填 | 说明 |
--engine | ray | 否 | 未指定该参数默认提交spark作业,也可以在配置文件中设置EngineType来区分作业类型 |
--name | test | 否 | ray作业名称 |
--num-workers | 10 | 是 | ray作业的worker数量。 |
--head-cores | 1 | 是 | ray作业的head核数。 |
--head-memory | 4g | 是 | ray作业的head内存。 |
--worker-cores | 1 | 是 | ray作业的worker核数。 |
--worker-memory | 1g | 是 | ray作业的worker内存。 |
--entrypoint-cmd | python /home/ray/workdir/ray_demo/sleep.py | 是 | 作业启动运行命令 其中 /home/ray/workdir 目前为固定值 |
--entrypoint-resource | ks3://wbwemr-devqa/klehui/demo/cray/ray_demossvpc.zip | 否 | 示例值为作业的ks3文件路径 |
--runtime_env | {"pip":["redis"],"env_vars":{"counter_name":"test_counter"}} | 否 | 作业运行时需要安装的Python包 |
--conf | xxx | 否 | 作业自定义参数,多个配置用逗号分隔 |
--image | xxx | 否 | 如需使用自定义镜像,添加该配置,替换镜像地址 |
工具的参数。
参数名称 | 示例值 | 说明 |
--list | 5 | 未指定该参数默认为10 |
--detail | rayjob-20241126154915**** | 查看ray作业详情。 |
--status | rayjob-20241126154915**** | 查看ray作业状态。 |
--kill | rayjob-20241126154915**** | 终止ray作业。 |
查询Ray作业详情
./bin/ksc-spark-tool --detail rayjob-2024081917****
查询Ray作业状态
./bin/ksc-spark-tool --status rayjob-2024081917****
./bin/ksc-spark-tool --kill rayjob-2024081917****
仅能终止运行(running)状态的作业。
./bin/ksc-spark-tool --list 2 #展示两条
纯净模式
鼠标选中内容,快速反馈问题