全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网
批量计算

使用App

更新时间:2017-10-11 12:56:58   分享:   

App是阿里云批量计算新推出的一个功能,支持第三方软件封装成App,供其他用户使用。App 是批量计算中资源配置的模板,包括使用什么镜像,什么实力类型,VM个数等描述信息。

下面主要讲批量计算命令行工具,如何支持App的增删改查,和提交App作业。

1. App增删改查

(1). 查看App

获取App列表

  1. bcs a

获取App参数

  1. bcs a :cromwell # 查看详情
  2. bcs a 1 # 或者使用序号也一样

查看App详情

  • 注意,只能查看私有的(自己创建的)App详情。 详情包括软件使用的镜像,运行的命令行等信息。
  1. bcs a my-app 0 # 查看第0个修订版本的详情

(2). 创建私有App

使用create_app|ca 命令创建私有App。

使用命令:

  1. bcs create_app|ca <app_name> <cmd> [option]

您可以加个 -h 查看帮助 bcs ca -h

最简单创建App的方法

  1. bcs ca my_app "echo 123" -i img-ubuntu

您也可以使用另一种方式: 直接使用app 描述文件提交:

先准备一个app描述文件: ./myapp.json

  1. {
  2. "Name": "myapp",
  3. "EnvVars": {},
  4. "Description": "",
  5. "CommandLine": "echo 123",
  6. "OutputParameters": {},
  7. "VM": {
  8. "ECSImageId": "img-ubuntu"
  9. },
  10. "Daemonize": false,
  11. "InputParameters": {},
  12. "Config": {
  13. "InstanceCount": {
  14. "Default": 1,
  15. "Description": "",
  16. "Overwritable": true
  17. },
  18. "ResourceType": {
  19. "Default": "OnDemand",
  20. "Description": "",
  21. "Overwritable": true
  22. },
  23. "DiskType": {
  24. "Default": "ephemeral",
  25. "Description": "",
  26. "Overwritable": true
  27. },
  28. "MaxRetryCount": {
  29. "Default": 0,
  30. "Description": "",
  31. "Overwritable": true
  32. },
  33. "Timeout": {
  34. "Default": 86400,
  35. "Description": "",
  36. "Overwritable": true
  37. },
  38. "MinDiskSize": {
  39. "Default": 40,
  40. "Description": "",
  41. "Overwritable": true
  42. },
  43. "InstanceType": {
  44. "Default": "",
  45. "Description": "",
  46. "Overwritable": true
  47. }
  48. }
  49. }

然后通过命令提交:

  1. bcs ca --file myapp.json

还可以指定option覆盖app.json中的配置:

  1. bcs ca --file myapp.json -t ecs.s3.large

(3). 修改和删除

  1. bcs ua -h # 修改自定义 App 的说明
  2. bcs da -h # 删除自定义 App 的说明

请使用-h 参看帮助。

2. 提交 App 作业

  • 目前仅支持AutoCluster作业,不久将来会支持Cluster。

使用 asub 命令快速使用 App 提交作业。

  1. bcs asub <app_name> -h # 查看指定 App 提交作业的参数等, 每个 App 提交参数是不一样的。

如: bcs asub cromwell -h

  • —input开头的option,用来指定 app 的 input 参数, 您也可以换成 —input-from-file 开头, 参数值如果是正确的本地文件路径,该文件将被自动上传到默认的OSS路径下面。

  • —output_开头的option,是用来指定output参数的。

3. 对 cromwell 工作流引擎和 WDL 的支持

批量计算服务提供了公共的App: cromwell, 用来支持WDL编写的工作流程。

您可以使用 gen 命令,快速创建特定的模板代码。 目前(编写此文档时)支持 WDL 和 GATK 两种模板。

举例:

  1. bcs gen ./demo -t wdl

这个命令在当前目录下创建一个demo目录,并生成一个简单的 WDL 流程代码。

  1. demo
  2. |-- src
  3. |-- hello.wdl
  4. |-- inputs.json
  5. |-- options.json
  6. |-- main.sh # 提交App作业的命令
  7. |-- Readme.md # 新手必读

修改 hello.wdl 和 main.sh 中的oss路径,运行 main.sh 提交作业即可。

同理支持 GATK:

运行以下命令创建一个 GATK 工程样例:

  1. bcs gen ./demo -t gatk

更多内容请看 GATK支持

本文导读目录
本文导读目录
以上内容是否对您有帮助?