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-阿裏雲