569
阿里云
提交作业__命令行工具_批量计算-阿里云
1. 提交作业
(1) 最简单的作业
bcs sub "echo 123" # 提交一个单任务作业,运行: echo 123
- 这里使用AutoCluster, 使用默认镜像和默认实例类型
(2) 提交一个python脚本作业
bcs sub "python test.py" -p ./test.py # -p 表示在作业提交前,将 test.py 打包到 worker.tar.gz,然后上传到OSS.
(3) 提交一个目录(多文件)的作业
一般这种情况:src目录下有多个文件, 如:
src
|-- test.py
|-- dep.py
而 test.py 需要依赖dep.py, 则可以将整个目录一起打包
bcs sub "python test.py" -p ./src/ # 将src目录下的所有文件打包到 worker.tar.gz, 然后上传到OSS,再提交作业
当然,您也可以一次指定多个文件(逗号隔开):
cd src #进入 src 目录
bcs sub "python test.py" -p test.py,dep.py # 将这个2个文件打包到 worker.tar.gz
如果您没有进入src目录, 则需要这样提交:
bcs sub "python test.py" -p src/test.py,src/dep.py # 将这个2个文件打包到 worker.tar.gz
然后您可以使用命令查看worker.tar.gz的内容:
tar -tvf worker.tar.gz
应该是这样的:
test.py
dep.py
(4) 使用挂载任务程序的方式提交作业
如果我把 test.py 上传到 oss://mybucket/test/test.py,我可以把oss://mybucket/test/ 挂载到VM的本地目录如: /home/admin/test/, 然后我就可以使用 “python /home/admin/test/test.py” 命令运行了。
这么提交即可:
bcs sub "python /home/admin/test/test.py" -r oss://mybucket/test/:/home/admin/test/
其中参数 -r oss://mybucket/test/:/home/admin/test/
,表示只读挂载,将oss://mybucket/test/ 挂载到 /home/admin/test/.
这样就无需打包成 worker.tar.gz了。
更多提交作业的信息请用: bcs sub -h 查看帮助
2. 其他技巧
(1) 挂载输入数据
假如我的数据已经上传到 oss://my-bucket/inputs/ 目录下面.
bcs sub "python test.py" -p ./src/ -r oss://my-bucket/inputs/:/home/admin/inputs/
- -r 表示只读挂载,将 oss目录oss://my-bucket/inputs/ 挂载到 /home/admin/inputs/, 你的程序可以向读取本地文件一样读取/home/admin/inputs/目录下面的文件
- 所有挂载的目录,不能是系统目录, 如: /bin, /usr等,建议挂载到/home/下面.
- 如要挂载多个目录,使用英文逗号隔开, 如:
-r oss://my-bucket/inputs/:/home/admin/inputs/,oss://my-bucket/inputs2/:/home/admin/inputs2/
(2) 程序运行结果使用挂载自动上传
我的程序会将运行的结果写到 /home/admin/outputs/ 目录下,我想把这个目录下面的所有数据上传到oss。
bcs sub "python test.py" -p ./src/ -r oss://my-bucket/inputs/:/home/admin/inputs/ -w oss://my-bucket/outputs/:/home/admin/outputs/
- -w 表示可写挂载,写入到这个目录下的数据,将会在程序运行完后,由系统自动上传到对应的 oss 目录下。
- 所有挂载的目录,不能是系统目录, 如: /bin, /usr等,建议挂载到/home/下面.
- 如要挂载多个目录,使用英文逗号隔开, 如:
-w oss://my-bucket/outputs/:/home/admin/outputs/,oss://my-bucket/outputs2/:/home/admin/outputs2/
(3) 使用自定义镜像和实例类型
bcs sub "python test.py" -p ./src/ -c img=img-ubuntu:type=ecs.c2.large
-c 表示使用集群,后面可以指定集群ID,也可以指定AutoCluster配置。 其中AutoCluster配置格式如:
img=${ImageId}:type=${InstanceType}
。img=img-ubuntu 表示使用镜像,您也可以指定自定义镜像。
type=ecs.c2.large 表示使用实例类型,可以用
bcs it
查看支持的实例类型列表。可以只指定
-c img=${ImageId}
或者只指定-c type=${InstanceType}
, 不指定则使用使用默认镜像和默认实例类型。
(4) 使用集群
bcs sub "python test.py" -p ./src/ -c cls-xxxxxxx
- -c cls-xxxxxxx 表示使用集群ID cls-xxxxxxx
更多请看如何使用集群.
(5) 使用Docker
bcs sub "python test.py" -p ./src/ --docker myubuntu@oss://my-bucket/dockers/
myubuntu 是 localhost:5000/myubuntu 的简写, oss://my-bucket/dockers/ 表示oss docker 镜像仓库的路径。
(6) 自定义磁盘
bcs sub "python test.py" --disk system:ephemeral:50,data:cloud:200
只在使用AutoCluster时有效, 支持系统盘配置和一块数据盘(可选)的配置, 使用方法如:
—disk system:ephemeral:40,data:cloud:50:/home/disk1
, 中间用逗号隔开。也可以只指定系统盘,或只指定数据盘。如:—disk system:ephemeral:40
默认只挂载一个系统盘:类型为ephemeral,大小40GB.
系统盘配置格式: system:< cloud|ephemeral>:< 40-500>, 举例: system:cloud:40, 表示系统盘挂载40GB的云盘.
数据盘配置格式: data:< cloud|ephemeral>:< 5-2000>:< mount-point>,举例: data:cloud:5:/home/disk1, 表示挂载一个5GB的云盘作为数据盘, window下只能挂载到驱动,如挂载到E盘: data:cloud:5:E.
(注意: 数据盘使用ephemeral的时候,size取值范围限制为:[5-1024]GB)
3. 查看作业
最后更新:2016-11-23 16:03:59
上一篇:
可用类型__控制台使用指南_批量计算-阿里云
下一篇:
查看作业__命令行工具_批量计算-阿里云
添加思考时间__脚本开发_Lite用户使用手册_性能测试-阿里云
MQTT 简介__MQTT 接入(物联)_消息队列 MQ-阿里云
获取镜像列表__SDK接口说明_Java版SDK_批量计算-阿里云
离线安装命令行工具和 SDK__安装命令行工具(Windows)_用户指南_命令行工具 CLI-阿里云
云服务器 ECS 重置密码
根据标签搜索资源__标签管理_用户指南_负载均衡-阿里云
金融云服务器访问外网的条件__常见问题_专有网络 VPC-阿里云
AddVServerGroupBackendServers__VServerGroup相关API_API 参考_负载均衡-阿里云
阿里云ECS全球启用秒级计费
javaSDK使用手册__SDK使用手册_短信服务-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云