2017-04-06 70 views
-2

這是我的場景。我正在創建HDI羣集並使用ARM模板安裝我的自定義應用程序。如何從HDI集羣獲取工作者,核心,RAM的數量

我需要使用Shell腳本爲我的應用程序配置以下值。在ARM模板中使用CustomScript選項安裝我的應用程序。

工作節點數量

每個工人節點

每頭節點RAM

每個工人節點的核心數

RAM每個工人節點的核心數

+0

Stack Overflow是一個編程和開發問題的網站。這個問題似乎與題目無關,因爲它不涉及編程或開發。請參閱幫助中心的[我可以詢問哪些主題](http://stackoverflow.com/help/on-topic)。也許[超級用戶](http://superuser.com/)或[Unix&Linux堆棧交換](http://unix.stackexchange.com/)會是一個更好的地方。另請參閱[我在哪裏發佈關於Dev Ops的問題?](http://meta.stackexchange.com/q/134306) – jww

回答

0

您可以使用Ambari REST API獲取工人節點的數量。每個工作節點

PASSWORD=<> 
CLUSTERNAME=<> 
#Worker nodes 
    curl -u admin:$PASSWORD -sS -G "https://$CLUSTERNAME.azurehdinsight.net/api/v1/clusters/$CLUSTERNAME/services/HDFS/components/DATANODE">worker.txt 
cat worker.txt |grep total_count|awk -F: '{print $2}'|sed 's/\,//g' 

RAM你的意思是虛擬機的最大內存?如果是的話,每個工作節點虛擬機應該有相同的RAM。虛擬機的內存和內核決定於虛擬機的大小。更多信息請參考此link。如果你想用腳本實現它。我建議你可以寫一個配置文件,比如

Standard_DS1_v2 1 3.5 

Standard_DS2_v2 2 7 

你可以用awk獲得core和MEM,這很容易。這是一個例子。

mem=`cat configure.txt|grep "Standard_DS1_v2"|awk '{print $3}` 
+0

@karan我測試使用API​​,我沒有在其中找到完整的MEM和CPU內核。你也可以測試。 –

+0

有沒有一個選項可以使用HDI集羣中的任何配置文件(例如yarn-site.xml,hdfs-site.xml,core-site.xml – karan

+0

)來獲取工作節點的RAM和CPU核心,我找不到它們。你可以嘗試搜索。如果你找不到它們。你可以創建一個配置文件。 –