批量計算支持自動化搭建 Sun Grid Engine(SGE)集群。
批量計算使用的是 CentOS 自帶的 SGE 版本,請參考 SGE。
批量計算提供了名為 BatchCompute SGE 的公共鏡像,使用該鏡像可快速、可靠的構建 SGE 集群,具體的流程如下:
請在 云市場 搜索關鍵字 BatchCompute SGE 了解該鏡像,它完全免費使用,使用流程請參考 使用鏡像市場的鏡像創建實例 。
2. 自定義鏡像(可選)
本步驟可選,如對鏡像沒有特殊需求,可直接進入下一步。如果需要在此系統鏡像基礎上安裝軟件,必須基于 BatchCompute SGE 制作自定義鏡像 。
必須在 BatchCompute SGE 鏡像基礎上制作新鏡像。
制作鏡像過程中,請務必不要執行任何有關 SGE 和 bcc 工具的命令,并且不要更新 python。
3. 準備 SGE Master 節點
請指定某 ECS VM 作為 SGE 系統的 Master 節點,它負責管理整個集群,也可以充當提交作業的節點。如果采用自定義鏡像,在啟動 VM 時要選用自定義鏡像,否則選用 BatchCompute SGE 鏡像。
配置參數,請參考 創建 Linux 實例。
由于 Master 節點需要長期穩定運行,建議在啟動 VM 時選用包年包月的付費方式;如果是測試,建議使用按量方式。
詳細步驟如下:
A) 創建 VPC 和交換機
如果您需要使用已經存在的 VPC ,可以跳過這一步。
打開 ECS 官方控制臺,點擊專有網絡 VPC 進入 VPC 控制臺,然后點擊”專有網絡”菜單。
創建專有網絡。在本示例中,設置專用網絡 CIDR 為 192.168.0.0/16,而交換機 CIDR 為 192.168.0.0/24。
創建交換機。
B) 購買 ECS VM
點擊剛才創建的“專有網絡”,然后點擊“交換機”進入交換機列表,再點擊“創建實例”進入創建 ECS 實例頁面。
公網 IP 地址選擇分配。
選擇安全組,創建專有網絡時自動創建了一個安全組,這里只有一個安全組可選。
實例規格至少2核4GB。
鏡像市場:BatchCompute SGE。
設置密碼。
配置參考。
請注意創建實例時實例的名稱不能修改
3. 啟動 SGE 集群
批量計算提供了命令行工具 bccluster(bcc) 來幫助您管理 SGE 集群,該工具預裝到 BatchCompute SGE 鏡像中。
A) 登錄 Master
使用 ssh 命令登錄到 Master 節點,務必使用 root 用戶。
ssh root@<外網IP>
然后,輸入購買 ECS 時設置的密碼.
B) bccluster 命令登錄
bccluster(bcc) 工具用來管理 SGE 集群,包括啟動、擴容和停止等操作。如果第一次登入 Master 節點,請先更新 bccluster 工具,然后執行以下命令來配置 region, accessKeyId 和 accessKeySecret。其中的 region 必須與 Master 虛擬機所在的 region 相同。
pip install -U batchcompute-sge #如果命令執行出錯,重試該命令就可以了。
bcc login <region> <accessKeyId> <accessKeySecret>
C) start 集群
啟動worker節點。
bcc start -n 2 -t ecs.sn2.medium -i img-sge --vpc_cidr_block=192.168.1.0/24
參數:
-n 表示啟動多少臺 worker 節點。
-t 表示 worker 節點使用哪種實例類型,
bcc t
命令可以列舉可用的實例類型。-i 表示 worker 節點使用哪個鏡像(可以指定系統鏡像 ID:img-sge,或者自定義鏡像 ID)。
—vpc_cidr_block 指定集群網段, 請參考 如何選擇網段 。
運行完該命令, 啟動指令提交成功, 因為 worker 節點啟動有一段時間, 還不能立即使用該集群,需要等待一段時間。
SGE 集群只能運行在 VPC 網絡中,因此必須指定 —vpc_cidr_block;cidr_block必須在創建master ECS實例設置的CIDR范圍內,如本例創建master ecs時選的vpc cidr為 192.168.0.0/16,所以cidr_block可選范圍在192.168.0.0/16-192.168.0.0/24
D) 查看批量計算集群狀態
bcc status
該命令可以查看集群狀態, worker 節點啟動情況等。
E) 查看 SGE 集群狀態
qhost
嘗試運行qhost
命令,看看 SGE 集群是否完全啟動。
4. 釋放(刪除)SGE 集群
如果不再使用 worker 節點,請使用 stop 命令停止所有的 worker 節點。如果 master 節點也不再使用,可以通過控制臺刪除掉 master 節點。
bcc stop
必須先停止 worker 節點,然后才能釋放 master。
5. 如何啟動 NAS 掛載的 SGE 集群
使用 bcc 工具可以輕松掛載 NAS,示例如下:
bcc start -n 2 -t ecs.sn1.medium -i img-sge --vpc_cidr_block=192.168.1.0/24 -m nas://a/b/c:/home/nas/
6. 啟動多種實例類型的集群(多個group)
運行 bcc start
命令時, 增加 option: —group_num 4 # 表示創建 4 個 group。
bcc start -n 2 -t ecs.sn2.medium -i img-sge --vpc_cidr_block=192.168.1.0/24 option: --group_num 4
group 名稱分別為:default,group1,group2,group3,并且 group1,group2,group3 的 node 數量都是 0。
通過 bcc update 命令批量修改所有 group 的 instanceType 或者只修改某個 group 的 instanceType ;具體參考
bcc update --help
。通過 bcc resize 命令某一個 group 的 node 數量;具體參考
bcc resize --help
。
group 個數在 start 后不能變更,如需變更 group 數量,必須 stop 集群后后再重新 start。