天天看點

E-MapReduce叢集腳本-包年包月叢集修改軟體環境的利器

叢集,特别是包年報月叢集,在使用過程中,可能會有新的安裝第三方軟體,修改叢集運作環境的需求。例如presto元件想增加udf、支援更多類型的插件,安裝第三方軟體,安裝作業系統軟體包,等等。由于包年包月叢集不能直接釋放了建立,是以需要一種引導操作的功能在叢集使用中執行安裝腳本。

e-mapreduce控制台1.5.0版本提供了叢集腳本的功能,可以在叢集建立好後批量選擇節點,運作您指定的腳本,以實作個性化的需求。

叢集腳本類似引導操作,您可以在叢集建立好後安裝很多目前叢集尚未支援的軟體到您的叢集上,例如:

使用 yum 安裝已經提供的軟體。

直接下載下傳公網上的一些公開的軟體。

讀取 oss 中您的自有資料。

安裝并運作一個服務,例如 flink 或者 impala,但需要編寫的腳本會複雜些。

強烈建議您先用單個節點進行叢集腳本的測試,測試都正确以後再在整個叢集上操作。

叢集狀态是空閑或者運作中的叢集可以運作叢集腳本,叢集清單頁面點選對應叢集的檢視詳情按鈕

左側菜單單擊叢集腳本,即會進入該叢集的叢集腳本執行界面,右側是已經執行過的叢集腳本清單。

單擊右上角建立并執行,進入建立界面。

填寫建立界面上的配置項,選擇執行的節點,點選執行,完成添加并執行操作。

叢集腳本清單可以看到新建立的叢集腳本,點選重新整理可以更新叢集腳本的狀态。

點選檢視詳情可以看到腳本在各個節點上的運作情況,點選重新整理可以更新腳本在各個節點上的運作狀态。

隻有空閑或者運作中的可用叢集才能使用叢集腳本功能。叢集腳本适用于長期存在的叢集,對按需建立的臨時叢集,應使用引導操作來完成叢集初始化工作。

叢集腳本會在您指定的節點上下載下傳oss上的腳本并運作,根據傳回值是否為0判斷執行成功還是失敗。如果運作狀态是失敗,您可以登入到各個節點上檢視運作日志,運作日志記錄在每個節點的/var/log/cluster-scripts/clusterscriptid目錄下。如果叢集配置了oss日志目錄,運作日志也會上傳到osslogpath/clusterid/ip/cluster-scripts/clusterscriptid目錄下友善檢視。

預設會使用 root 賬戶執行您指定的腳本,您可以在腳本中使用 su hadoop 切換到 hadoop 賬戶。

叢集腳本可能在部分節點上運作成功,部分節點上運作失敗,例如節點重新開機導緻的腳本運作失敗。您可以在解決異常問題後,單獨指定失敗的節點再次運作。當叢集擴容後,您也可以指定擴容的節點單獨運作叢集腳本。

1個叢集同一時間隻能運作一個叢集腳本,如果有正在運作的叢集腳本,無法送出執行新的叢集腳本。每個叢集最多保留10個叢集腳本記錄,超過10個需要将之前的記錄删除才能建立新的叢集腳本。

類似引導操作的腳本,您可以在腳本中指定從 oss 下載下傳需要的檔案,下面的例子會将 oss://yourbucket/myfile.tar.gz 這個檔案下載下傳到本地,并解壓到 /yourdir 目錄下:

osscmd 已預安裝在節點上,可以直接調用來下載下傳檔案。

注意:oss 位址 host 有内網位址、外網位址和 vpc 網絡位址之分。如果用經典網絡,需要指定内網位址,杭州是 oss-cn-hangzhou-internal.aliyuncs.com。如果用 vpc 網絡,要指定 vpc 内網可通路的域名,杭州是 vpc100-oss-cn-hangzhou.aliyuncs.com。

腳本也可以通過 yum 安裝額外的系統軟體包,下面的例子會安裝 ld-linux.so.2: