2017-04-06 21 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核心,我找不到它们。你可以尝试搜索。如果你找不到它们。你可以创建一个配置文件。 –