閱讀569 返回首頁    go 小米 go 小米路由器


提交作業__命令行工具_批量計算-阿裏雲

1. 提交作業

(1) 最簡單的作業

  1. bcs sub "echo 123" # 提交一個單任務作業,運行: echo 123

(2) 提交一個python腳本作業

  1. bcs sub "python test.py" -p ./test.py # -p 表示在作業提交前,將 test.py 打包到 worker.tar.gz,然後上傳到OSS.

(3) 提交一個目錄(多文件)的作業

一般這種情況:src目錄下有多個文件, 如:

  1. src
  2. |-- test.py
  3. |-- dep.py

而 test.py 需要依賴dep.py, 則可以將整個目錄一起打包

  1. bcs sub "python test.py" -p ./src/ # 將src目錄下的所有文件打包到 worker.tar.gz, 然後上傳到OSS,再提交作業

當然,您也可以一次指定多個文件(逗號隔開):

  1. cd src #進入 src 目錄
  2. bcs sub "python test.py" -p test.py,dep.py # 將這個2個文件打包到 worker.tar.gz

如果您沒有進入src目錄, 則需要這樣提交:

  1. bcs sub "python test.py" -p src/test.py,src/dep.py # 將這個2個文件打包到 worker.tar.gz

然後您可以使用命令查看worker.tar.gz的內容:

  1. tar -tvf worker.tar.gz

應該是這樣的:

  1. test.py
  2. dep.py

(4) 使用掛載任務程序的方式提交作業

如果我把 test.py 上傳到 oss://mybucket/test/test.py,我可以把oss://mybucket/test/ 掛載到VM的本地目錄如: /home/admin/test/, 然後我就可以使用 “python /home/admin/test/test.py” 命令運行了。

這麼提交即可:

  1. 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/ 目錄下麵.

  1. 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。

  1. 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) 使用自定義鏡像和實例類型

  1. 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) 使用集群

  1. bcs sub "python test.py" -p ./src/ -c cls-xxxxxxx
  • -c cls-xxxxxxx 表示使用集群ID cls-xxxxxxx

更多請看如何使用集群.

(5) 使用Docker

  1. bcs sub "python test.py" -p ./src/ --docker myubuntu@oss://my-bucket/dockers/
  • myubuntu 是 localhost:5000/myubuntu 的簡寫, oss://my-bucket/dockers/ 表示oss docker 鏡像倉庫的路徑。

  • 使用 docker

(6) 自定義磁盤

  1. 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

  上一篇:go 可用類型__控製台使用指南_批量計算-阿裏雲
  下一篇:go 查看作業__命令行工具_批量計算-阿裏雲