Localizar os nomes do host dos nós de cluster
O cluster HDInsight é criado com o DNS público clustername.azurehdinsight.net
. Quando você usa o SSH para nós individuais ou configura uma conexão com nós de cluster dentro da mesma rede virtual personalizada, você precisa usar o nome do host ou nomes de domínio totalmente qualificados (FQDN) dos nós de cluster.
Neste artigo, você aprenderá a obter os nomes do host dos nós de cluster. Você pode obtê-lo manualmente por meio da interface do usuário da Web do Ambari ou automaticamente por meio da API REST do Ambari.
Aviso
Use as seguintes abordagens recomendadas para buscar nomes do host dos nós de cluster. Os números no nome do host não são garantidos em sequência e o HDInsight pode alterar o formato do nome do host para se alinhar com as VMs com a atualização da versão. Não use a dependência de uma determinada convenção de nomenclatura que exista atualmente.
Você pode obter os nomes do host por meio da interface do usuário do Ambari ou da API REST do Ambari.
Obter os nomes do host da interface do usuário da Web do Ambari
Você pode usar a interface do usuário da Web do Ambari para obter os nomes do host ao usar o SSH para o nó. A interface do usuário da Web do Ambari está disponível no cluster HDInsight em https://CLUSTERNAME.azurehdinsight.net/#/main/hosts
, onde CLUSTERNAME
é o nome do cluster.
Obter os nomes do host da API REST do Ambari
Ao criar scripts de automação, você pode usar a API REST do Ambari para obter os nomes do host antes de fazer conexões com os hosts. Os números no nome do host não são garantidos em sequência e o HDInsight pode alterar o formato do nome do host para se alinhar com as VMs com a atualização da versão. Não use a dependência de uma determinada convenção de nomenclatura que exista atualmente.
Aqui estão alguns exemplos de como recuperar o FQDN para os nós no cluster. Para obter mais informações, consulte Gerenciar clusters do HDInsight usando a API REST do Apache Ambari
O exemplo a seguir usa jq ou ConvertFrom-Json para analisar o documento de resposta JSON e exibir apenas os nomes do 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