Localizar os nomes de host dos nós de cluster
O cluster HDInsight é criado com DNS clustername.azurehdinsight.net
público . Quando você SSH para nós individuais ou configurar 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) de nós de cluster.
Neste artigo, você aprenderá a obter os nomes de host dos nós de cluster. Você pode obtê-lo manualmente através da interface do usuário da Web do Ambari ou automaticamente através da API REST do Ambari.
Aviso
Use as seguintes abordagens recomendadas para buscar nomes de host de 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 às VMs com a atualização de versão. Não tome a dependência de qualquer convenção de nomenclatura que existe hoje.
Você pode obter os nomes de host por meio da interface do usuário do Ambari ou da API REST do Ambari.
Obter os nomes de host da interface do usuário da Web do Ambari
Você pode usar Ambari Web UI para obter os nomes de host quando você SSH para o nó. A exibição de hosts da 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 de host da API REST do Ambari
Ao criar scripts de automação, você pode usar a API REST do Ambari para obter os nomes de host antes de fazer conexões com 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 às VMs com a atualização de versão. Não tome a dependência de qualquer convenção de nomenclatura que existe hoje.
Aqui estão alguns exemplos de como recuperar o FQDN para os nós no cluster. Para obter mais informações sobre a API REST do Ambari, consulte Gerenciar clusters 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 de 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