如何从HDI集群中获取worker,core,ram的数量

时间:2017-04-06 12:46:19

标签: linux shell azure hdinsight arm-template

这是我的情景。我正在创建HDI集群并使用ARM模板安装我的自定义应用程序。

我需要使用Shell脚本为我的应用程序配置以下值。使用ARM模板中的CustomScript选项安装我的应用程序。

  

工作节点数

     

每个工作节点的核心数

     

每个工作节点的RAM

     

每个节点的RAM

     

每个工作节点的核心数

1 个答案:

答案 0 :(得分: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







您的意思是VM的最大RAM吗?如果是,则每个工作节点VM应具有相同的RAM。 VM的RAM和内核决定VM的大小。更多信息请参阅此链接。如果你想用脚本实现它。我建议您可以编写配置文件,例如




  Standard_DS1_v2 1 3.5

 Standard_DS2_v2 2 7
  




你可以使用awk获得核心和MEM,这很容易。这是一个例子。




  mem =`cat configure.txt | grep“Standard_DS1_v2”| awk'{print $ 3}`