2017-04-04 4 views

답변

2

ARM 템플릿을 사용하여 얻을 수있는 방법이 있습니까?

내 지식에 따르면 템플릿으로 VM IP를 가져올 수 없습니다. azure cli을 사용하여 템플릿 대신 VM IP를 가져올 수 있습니다. Linux에서 cli를 실행하는 경우 VM을 만든 후 다음 명령을 사용할 수 있습니다.

azure vm show -g shui123 -n shui|grep "Public IP address"| awk -F: '{print $3}' 

내가 얻을 배포가 완료된 후 HDI의 클러스터 headnode을 공공 푸른 VM의 IP와 사설 IP를 나열합니다.

Azure VM의 공개 IP입니까? HDI 클러스터에 VM 또는 VM 만 있습니까?

VM 인 경우 위의 명령을 사용할 수 있습니다. HDI 클러스터의 VM 인 경우 Azure HDInsight 클러스터에서 공용 IP를 할당 할 수 없습니다. HDInsight 클러스터에 IP를 할당해야하는 경우 VNET에 HDInsight를 만들어야합니다. 다음 기사에서는 this에 대해 이야기합니다.

Ambari RE ST AP I로 HDI 클러스터 IP를 얻을 수 있습니다. Ambari RE ST AP에 대한

for HOSTNAME in $(curl -u admin:$PASSWORD -sS -G "https://shuitest.azurehdinsight.net/api/v1/clusters/shuitest/hosts" | jq -r '.items[].Hosts.host_name') 
do 
    IP=$(curl -u admin:$PASSWORD -sS -G "https://$CLUSTERNAME.azurehdinsight.net/api/v1/clusters/$CLUSTERNAME/hosts/$HOSTNAME" | jq -r '.Hosts.ip') 
    echo "$HOSTNAME <--> $IP" 
done 

자세한 내용은 나는이 link를 참조하십시오.

업데이트 :

만 활성 노드의 IP를 나열하려면 다음 명령을 사용할 수 있습니다.

PASSWORD= 
CLUSTERNAME= 

curl -u admin:$PASSWORD -sS -G "https://$CLUSTERNAME.azurehdinsight.net/api/v1/clusters/$CLUSTERNAME/services/HDFS/components/NAMENODE" |grep LiveNode>test.txt 

cat test.txt |awk -F'\' '{print $2}'|sed 's/\"//g'|tail -1|awk -F: '{print $1}' 
+0

"^ hn"을 사용하여 헤드 노드 개인 IP를 나열 할 수 있습니다. –

+0

첫 번째 명령을 사용하여 VM IP를 가져올 수 있습니다. 어디에서 헤드 노드 개인 IP에 grep "hn"을 사용해야합니까? – karan

+0

스크립트'echo "를 수정할 수 있습니다 $ HOSTNAME <--> $ IP"> test.txt''cat test.txt | grep "^ hn"' –