閱讀667 返回首頁    go 阿裏雲


理解批量計算__產品簡介_批量計算-阿裏雲

1. 基礎架構

BatchCompute整體架構,包括:

  • BatchCompute入口

    批量計算服務提供基於HTTP的API,在API之上我們還封裝了一些工具,比如SDK,命令行工具,控製台等。用戶可以使用這些工具向BatchCompute提交作業,查詢作業運行狀態,並管理作業生命周期(比如停止已提交的作業,釋放已完成的作業等)。

總體印象

  • 運行環境

    BatchCompute通過虛擬化技術構建沙箱,並在其中運行用戶程序,確保用戶環境和用戶數據的安全性。用戶可以自行定製其虛擬機鏡像。

  • OSS持久化存儲

    OSS 有完善的用戶管理和安全機製。BatchCompute使用 OSS 作為持久化存儲。用戶的程序、自定義Docker鏡像、輸入輸出數據都存儲在 OSS 中。

2. 功能介紹

(1) 提交作業

用戶使用工具(如SDK,命令行工具等)向 BatchCompute 提交作業,BatchCompute 使用用戶指定的鏡像(如:ubuntu)啟動虛擬機(VM), 在虛擬機中運行用戶程序, 運行完成後釋放虛擬機(VM)。

  • BatchCompute中使用OSS作為持久化存儲。您可以在程序運行完成時將結果數據保存到OSS中。在批量計算中,也可以通過文件接口的方式訪問OSS上的數據,請參閱OSS掛載功能
  • BatchCompute程序默認運行在VM中,也可以支持 Docker容器。 也就是說,您可以自定義ECS鏡像或者使用Docker,在鏡像中安裝自己需要的任何軟件,用來運行您的任何程序。

作業描述

用戶需要提交一個作業(Job)描述JSON文件到批量計算服務,該JSON文件中詳細描述了需要執行那些程序(可以多個程序),運行哪些程序需要啟動多少台機器,機器的規格(內存和CPU等),運行日誌打印到哪裏,完成後結果輸出到哪裏等。

一個作業(Job)包含多個任務(Task), 按照你指定DAG描述的順序執行。

dag-tasks

每個任務定義了使用哪個鏡像,使用什麼實例規格,運行哪個程序,需要多少台機器運行,還有結果存儲在哪裏等。

task

(2) 管理我的作業

您可以使用工具(控製台,命令行工具等),查看我提交的作業,可以停止,重啟,或刪除作業。 查看各個任務的情況,各個實例(VM實例)的情況和日誌。下圖是控製台的作業管理界麵:

console-jobs

(3) 使用集群

由於每次運行程序前需要啟動虛擬機,會占用一定的時間(一般幾分鍾左右),遇到忙時有可能申請不到資源(虛擬機被其他客戶使用了),您提交作業後可能需要等待一段時間才能運行。

如果您想要提高運行效率,可以先創建好集群,指定需要的虛擬機數量(比如:5台)和鏡像ID,BatchCompute會為您分配好機器並啟動,這些機器會一直處於運行狀態,一旦您提交作業上來,就可以直接運行,效率較高。

最後更新:2016-11-23 16:04:15

  上一篇:go 什麼是批量計算__產品簡介_批量計算-阿裏雲
  下一篇:go 使用場景__產品簡介_批量計算-阿裏雲