如何从 HDI 集群中获取 worker、cores、ram 的数量
How to get number of worker, cores, ram from HDI cluster
这是我的场景。我正在创建 HDI 集群并使用 ARM 模板安装我的自定义应用程序。
我需要使用 Shell 脚本为我的应用程序配置以下值。使用 ARM 模板中的 CustomScript 选项安装我的应用程序。
Number of worker nodes
Number of cores per worker node
RAM per worker node
RAM per head node
Number of cores per worker node
您可以使用 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 }'|sed 's/\,//g'
RAM per worker node
您是指虚拟机的最大内存吗?如果是,则每个工作节点 VM 都应具有相同的 RAM。 VM 的 RAM 和内核取决于 VM 的大小。更多信息请参考这篇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 }`
这是我的场景。我正在创建 HDI 集群并使用 ARM 模板安装我的自定义应用程序。
我需要使用 Shell 脚本为我的应用程序配置以下值。使用 ARM 模板中的 CustomScript 选项安装我的应用程序。
Number of worker nodes
Number of cores per worker node
RAM per worker node
RAM per head node
Number of cores per worker node
您可以使用 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 }'|sed 's/\,//g'
RAM per worker node
您是指虚拟机的最大内存吗?如果是,则每个工作节点 VM 都应具有相同的 RAM。 VM 的 RAM 和内核取决于 VM 的大小。更多信息请参考这篇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 }`