安裝腳本配置說明
如果您創(chuàng)建集群后需要安裝自定義軟件或者配置軟件環(huán)境,可以設(shè)置安裝腳本。集群所有節(jié)點(diǎn)啟動并安裝好自動部署的軟件后,會自動下載并執(zhí)行安裝腳本。本文介紹安裝腳本中配置參數(shù)說明。
使用場景
使用系統(tǒng)鏡像創(chuàng)建集群后,需要在創(chuàng)建集群后安裝自定義軟件或配置軟件環(huán)境。
使用自定義鏡像創(chuàng)建集群,需要在創(chuàng)建集群后執(zhí)行自定義腳本配置軟件環(huán)境。
配置說明
創(chuàng)建集群時,在軟件配置的高級配置中設(shè)置安裝腳本。安裝腳本支持包含bash、python等可以在Linux Shell環(huán)境中運(yùn)行的腳本類型,腳本第一行必須加上注解指明運(yùn)行時調(diào)用的命令,例如bash腳本第一行為#!/bin/bash
。
腳本示例
該腳本示例輸出集群環(huán)境變量、集群元數(shù)據(jù)、節(jié)點(diǎn)角色到/root目錄下對應(yīng)的log文件中。具體腳本示例下載地址,請參見下載地址。
#!/bin/bash
echo "call $0 with param: $@" | tee /root/command.log
## show all available environment variables
printenv | tee /root/env.log
## Cluster meta data
echo "ClusterId: ${ClusterId}, HOSTNAME: ${HOSTNAME}" | tee /root/cluster.log
echo "AccountType: ${AccountType}, SchedulerType: ${SchedulerType}" | tee -a /root/cluster.log
## Role of current machine
echo "${Role}" | tee /root/role.log
if [ "${isLoginNode}" == "true" ]; then
## Do your work on login node
echo "This is login node" | tee -a /root/role.log
exit $?
fi
if [ "${isAccountManager}" == "true" ]; then
## Do your work on NIS/LDAP master
echo "This is account manager" | tee -a /root/role.log
exit $?
fi
if [ "${isResourceManager}" == "true" ]; then
## Do your work on Slurm/PBS master
echo "This is scheduler" | tee -a /root/role.log
exit $?
fi
if [ "${isComputeNode}" == "true" ]; then
## Do your work with on compute node
echo "This is compute node" | tee -a /root/role.log
exit $?
fi
環(huán)境變量
自定義安裝腳本默認(rèn)在集群的所有節(jié)點(diǎn)上執(zhí)行,您可以通過設(shè)置環(huán)境變量指定在不同類型節(jié)點(diǎn)上執(zhí)行的操作。可用環(huán)境變量說明如下:
變量名 | 樣例 | 說明 |
ClusterId | ehpc-hz-AQoy7J**** | 集群ID。 |
HOSTNAME | i-bp133vs16yb3kqdj**** | 主機(jī)名。 |
AccountType | NIS | 域賬號類型,取值范圍:
|
SchedulerType | PBS | 調(diào)度器類型,取值范圍:
|
Role | AccountManager | Role為單一角色名稱或者多個角色名稱以逗號分隔組成字符串。即單個節(jié)點(diǎn)可能同時具有多種角色。取值范圍:
|
ResourceManagerIp | 192.168.**.** | 主調(diào)度節(jié)點(diǎn)私網(wǎng)IP。 |
ResourceManagerHost | scheduler000 | 主調(diào)度節(jié)點(diǎn)主機(jī)名。 |
AccountManagerIp | 192.168.**.** | 主域賬號管理域節(jié)點(diǎn)私網(wǎng)IP。 |
AccountManagerHost | account000 | 主域賬號管理域節(jié)點(diǎn)主機(jī)名。 |
ResourceManagerBackupIp | 192.168.**.** | 備調(diào)度節(jié)點(diǎn)私網(wǎng)IP(開啟HA)。 |
ResourceManagerBackupHost | scheduler001 | 備調(diào)度節(jié)點(diǎn)主機(jī)名(開啟HA)。 |
AccountManagerBackupIp | 192.168.**.** | 備域賬號管理節(jié)點(diǎn)私網(wǎng)IP(開啟HA)。 |
AccountManagerBackupHost | account001 | 備域賬號管理節(jié)點(diǎn)主機(jī)名(開啟HA)。 |
isLoginNode | true | 是否登錄節(jié)點(diǎn),可選值:
|
isAccountManager | true | 是否主域服務(wù)器,可選值:
|
isResourceManager | true | 是否主調(diào)度器,可選值:
|
isAccountManagerBackup | true | 是否備用域服務(wù)器,可選值:
|
isResourceManagerBackup | true | 是否備用調(diào)度器,可選值:
|
isComputeNode | true | 是否計(jì)算節(jié)點(diǎn),可選值:
|
異常處理
創(chuàng)建集群時可能會出現(xiàn)異常,常見異常說明如下:
如果集群創(chuàng)建過程中出現(xiàn)異常,導(dǎo)致集群創(chuàng)建失敗,則不會執(zhí)行安裝腳本。
如果集群創(chuàng)建成功,但是單個計(jì)算節(jié)點(diǎn)異常,則該異常節(jié)點(diǎn)上不會執(zhí)行安裝腳本。
如果集群創(chuàng)建成功,通過腳本的返回值判斷執(zhí)行結(jié)果,返回值約定同Shell,非0代表失敗。如果失敗,您可以在操作日志查看告警,詳細(xì)錯誤信息請登錄集群,在執(zhí)行失敗的節(jié)點(diǎn)/root目錄下查詢?nèi)罩疚募?/p>