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