Trovare i nomi host dei nodi del cluster
Il cluster HDInsight viene creato con DNS clustername.azurehdinsight.net
pubblico. Quando si esegue SSH per singoli nodi o si configura una connessione ai nodi del cluster all'interno della stessa rete virtuale personalizzata, è necessario usare il nome host o i nomi di dominio completi (FQDN) dei nodi del cluster.
Questo articolo illustra come ottenere i nomi host dei nodi del cluster. È possibile ottenerlo manualmente tramite l'interfaccia utente Web di Ambari o automaticamente tramite l'API REST di Ambari.
Avviso
Usare gli approcci consigliati seguenti per recuperare i nomi host dei nodi del cluster. I numeri nel nome host non sono garantiti in sequenza e HDInsight può modificare il formato del nome host in modo da allinearsi alle macchine virtuali con l'aggiornamento della versione. Non accettare la dipendenza da una determinata convenzione di denominazione esistente oggi.
È possibile ottenere i nomi host tramite l'interfaccia utente di Ambari o l'API REST di Ambari.
È possibile usare l'interfaccia utente Web di Ambari per ottenere i nomi host quando si esegue SSH per il nodo. La visualizzazione host dell'interfaccia utente Web di Ambari è disponibile nel cluster HDInsight in https://CLUSTERNAME.azurehdinsight.net/#/main/hosts
, dove CLUSTERNAME
è il nome del cluster.
Quando si compilano script di automazione, è possibile usare l'API REST Ambari per ottenere i nomi host prima di stabilire connessioni agli host. I numeri nel nome host non sono garantiti in sequenza e HDInsight può modificare il formato del nome host in modo da allinearsi alle macchine virtuali con l'aggiornamento della versione. Non accettare la dipendenza da una determinata convenzione di denominazione esistente oggi.
Ecco alcuni esempi di come recuperare il nome di dominio completo per i nodi nel cluster. Per altre informazioni sull'API REST di Ambari, vedere Gestire cluster HDInsight usando l'API REST apache Ambari
L'esempio seguente usa jq o ConvertFrom-Json per analizzare il documento di risposta JSON e visualizzare solo i nomi host.
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