全部文档
当前文档

暂无内容

如果没有找到您期望的内容,请尝试其他搜索词

文档中心

通过ksc-spark-tool命令行工具提交Ray作业

最近更新时间:2024-12-13 12:01:58

本文将以KEC连接KMR Serverless Spark为例,介绍如何通过ksc-spark-tool命令行工具进行Ray作业开发。

前提

  1. 在进行Ray作业开发前,您需要先创建工作空间,具体创建流程详见:创建工作空间

  2. 如果使用IAM用户(子账号)提交Ray作业,您需要赋予子账号相应KMR及KS3权限,具体操作步骤详见:子账号授权

操作步骤

步骤一:下载作业示例

本文旨在带您快速熟悉操作流程,为您提供了一个作业示例,您可以直接下载以备后续步骤使用。

单击 ksyun-ray-demo.zip,直接下载作业示例。

步骤二:上传示例文件至KS3

请将示例文件上传至KS3,具体步骤详见:文件上传

在进行实际开发时,您需要将所运行的Ray作业代码脚本压缩为ZIP包之后上传至KS3中。

步骤三:下载并安装KMR Serverless Spark/Ray客户端工具
  1. 单击ksc-spark-tool.tar.gz,下载安装包。

  2. 将安装包上传至KEC实例,具体步骤详见:上传文件至KEC

  3. 上传完成后,执行以下命令,解压并安装KMR Serverless Spark/Ray工具。

tar -zxvf ksc-spark-tool.tar.gz
  1. 解压完成后会生成如下目录:

# 客户端主目录
ksc-spark-tool/ 

# bin目录,包含了不同环境可执行文件                           
ksc-spark-tool/bin/ 

# bin目录下的可执行文件,会根据不同操作系统自动选择执行哪个进程来执行                   
ksc-spark-tool/bin/ksc-spark-tool 

# bin目录下的可执行文件,适用于Linux操作系统
ksc-spark-tool/bin/ksc-spark-tool-linux     

# bin目录下的可执行文件,适用于Mac操作系统
ksc-spark-tool/bin/ksc-spark-tool-mac  

# bin目录下的可执行文件,适用于Window操作系统       
ksc-spark-tool/bin/ksc-spark-tool.exe

# Conf目录,包含配置文件信息         
ksc-spark-tool/conf/

# Conf目录下的配置文件,可查看当前版本号,选择自行升级                          
ksc-spark-tool/conf/appversion

# Conf目录下的配置文件,包含任务提交相关的鉴权&配置信息                
ksc-spark-tool/conf/connection.properties

# 客户端的相关配置适用说明     
ksc-spark-tool/README.md                      
步骤四:配置相关参数
  1. 执行以下命令,修改connection.properties中的配置。

vim ksc-spark-tool/conf/connection.properties
  1. 推荐按照如下内容对文件进行配置,参数格式为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.cn-beijing-6.api.ksyun.com

kmr.cn-beijing-6.internal.api.ksyun.com

步骤五:提交Ray作业
  1. 执行以下命令,进入ksc-spark-tool工具目录。

cd ksc-spark-tool
  1. 请按照以下格式提交任务。

./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":"ks3://{your bucket}/ray/ksyun-ray-demo.zip"}' \
--image hub.kce.ksyun.com/kmr-test/ray:2.30.0-ksyun-hdfs

命令中 "working_dir":"ks3://<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

作业启动运行命令
entrypoint_cmd 格式为 /home/ray/workdir/{zip包名}/{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作业

查询Ray作业详情

./bin/ksc-spark-tool --detail rayjob-2024081917****

查询Ray作业状态

./bin/ksc-spark-tool --status  rayjob-2024081917****
(可选)步骤七:终止Ray作业
./bin/ksc-spark-tool --kill rayjob-2024081917****
(可选)步骤八:查询workspace下作业列表
./bin/ksc-spark-tool --list  2  #展示两条

文档导读
纯净模式常规模式

纯净模式

点击可全屏预览文档内容
文档反馈