Share via


Hitta värdnamnen för klusternoder

HDInsight-kluster skapas med offentlig DNS clustername.azurehdinsight.net. När du SSH till enskilda noder eller konfigurerar en anslutning till klusternoder i samma anpassade virtuella nätverk måste du använda värdnamnet eller fullständigt kvalificerade domännamn (FQDN) för klusternoder.

I den här artikeln får du lära dig hur du hämtar värdnamnen för klusternoder. Du kan hämta det manuellt via Ambari Web UI eller automatiskt via Ambari REST API.

Varning

Använd följande rekommenderade metoder för att hämta värdnamn för klusternoder. Numren i värdnamnet garanteras inte i sekvens och HDInsight kan ändra värdnamnsformatet så att det överensstämmer med virtuella datorer med versionsuppdatering. Ta inte beroendet av någon viss namngivningskonvention som finns idag.

Du kan hämta värdnamnen via Ambari UI eller Ambari REST API.

Hämta värdnamnen från Ambari Web UI

Du kan använda Ambari Web UI för att hämta värdnamnen när du SSH till noden. Vyn Ambari-webbgränssnittsvärdar är tillgänglig i HDInsight-klustret på , där CLUSTERNAME är namnet på https://CLUSTERNAME.azurehdinsight.net/#/main/hostsklustret.

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

Hämta värdnamnen från Ambari REST API

När du skapar automationsskript kan du använda Ambari REST API för att hämta värdnamnen innan du ansluter till värdar. Numren i värdnamnet garanteras inte i följd och HDInsight kan ändra värdnamnsformatet så att det överensstämmer med virtuella datorer med versionsuppdatering. Ta inte beroendet av någon viss namngivningskonvention som finns idag.

Här följer några exempel på hur du hämtar FQDN för noderna i klustret. Mer information om Ambari REST API finns i Hantera HDInsight-kluster med hjälp av Apache Ambari REST API

I följande exempel används jq eller ConvertFrom-Json för att parsa JSON-svarsdokumentet och endast visa värdnamnen.

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