Znajdowanie nazw hostów węzłów klastra

Klaster usługi HDInsight jest tworzony przy użyciu publicznego systemu DNS clustername.azurehdinsight.net. W przypadku połączenia SSH z poszczególnymi węzłami lub skonfigurowania połączenia z węzłami klastra w tej samej niestandardowej sieci wirtualnej należy użyć nazwy hosta lub w pełni kwalifikowanych nazw domen (FQDN) węzłów klastra.

Z tego artykułu dowiesz się, jak uzyskać nazwy hostów węzłów klastra. Możesz pobrać go ręcznie za pośrednictwem internetowego interfejsu użytkownika systemu Ambari lub automatycznie za pośrednictwem interfejsu API REST systemu Ambari.

Ostrzeżenie

Użyj poniższych zalecanych metod pobierania nazw hostów węzłów klastra. Liczby w nazwie hosta nie są gwarantowane w sekwencji, a usługa HDInsight może zmienić format nazwy hosta tak, aby był zgodny z maszynami wirtualnymi z odświeżaniem wydania. Nie należy brać zależności od żadnej określonej konwencji nazewnictwa, która istnieje dzisiaj.

Nazwy hostów można uzyskać za pomocą interfejsu użytkownika systemu Ambari lub interfejsu API REST systemu Ambari.

Pobieranie nazw hostów z internetowego interfejsu użytkownika systemu Ambari

Możesz użyć interfejsu użytkownika sieci Web systemu Ambari, aby uzyskać nazwy hostów podczas nawiązywania protokołu SSH z węzłem. Widok hostów internetowego interfejsu użytkownika systemu Ambari jest dostępny w klastrze usługi HDInsight pod adresem https://CLUSTERNAME.azurehdinsight.net/#/main/hosts, gdzie CLUSTERNAME jest nazwą klastra.

Get-Host-Names-In-Ambari-UI.

Pobieranie nazw hostów z interfejsu API REST systemu Ambari

Podczas tworzenia skryptów automatyzacji można użyć interfejsu API REST systemu Ambari, aby uzyskać nazwy hostów przed nawiązywaniem połączeń z hostami. Liczby w nazwie hosta nie są gwarantowane w sekwencji, a usługa HDInsight może zmienić format nazwy hosta tak, aby był zgodny z maszynami wirtualnymi z odświeżaniem wydania. Nie należy brać zależności od żadnej określonej konwencji nazewnictwa, która istnieje dzisiaj.

Poniżej przedstawiono kilka przykładów pobierania nazwy FQDN dla węzłów w klastrze. Aby uzyskać więcej informacji na temat interfejsu API REST systemu Ambari, zobacz Manage HDInsight clusters by using the Apache Ambari REST API (Zarządzanie klastrami usługi HDInsight przy użyciu interfejsu API REST apache Ambari)

W poniższym przykładzie użyto formatu jq lub ConvertFrom-Json , aby przeanalizować dokument odpowiedzi JSON i wyświetlić tylko nazwy hostów.

export PASSWORD=''
export CLUSTER_NAME=''
curl -u admin:$PASSWORD -sS -G "https://$CLUSTERNAME.azurehdinsight.net/api/v1/clusters/$CLUSTERNAME/hosts" \
| jq -r '.items[].Hosts.host_name'
$clusterName=''
$creds = Get-Credential -UserName "admin" -Message "Enter the HDInsight login"
$resp = Invoke-WebRequest -Uri "https://$clusterName.azurehdinsight.net/api/v1/clusters/$clusterName/hosts" `
    -Credential $creds -UseBasicParsing
$respObj = ConvertFrom-Json $resp.Content
$respObj.items.Hosts.host_name