Поиск имен узлов кластера
Кластер HDInsight создается с общедоступной службой DNS clustername.azurehdinsight.net
. При подключении к отдельным узлам или настройке подключения к узлам кластера в одной и той же пользовательской виртуальной сети необходимо использовать имя узла или полное доменное имя (FQDN) узлов кластера.
Из этой статьи вы узнаете, как получить имена узлов кластера. Их можно получить вручную с помощью веб-интерфейса Ambari или автоматически с помощью REST API Ambari.
Предупреждение
Чтобы получить имена узлов кластера, следуйте рекомендациям ниже. Номера в имени узла необязательно указываются последовательно, а при обновлении выпуска HDInsight может менять формат имени узла для согласования с виртуальными машинами. Не нужно строго следовать тому или иному соглашению об именовании.
Имена узлов можно получить с помощью пользовательского интерфейса Ambari или REST API Ambari.
Получение имен узлов из веб-интерфейса Ambari
Получить имена узлов посредством веб-интерфейса Ambari можно при подключении к узлу по протоколу SSH. Представление узлов в веб-интерфейсе Ambari доступно в кластере HDInsight по адресу https://CLUSTERNAME.azurehdinsight.net/#/main/hosts
, где CLUSTERNAME
— это имя вашего кластера.
Получение имен узлов из REST API Ambari
При создании скриптов автоматизации вы можете получить имена узлов с помощью REST API Ambari перед подключением к узлам. Номера в имени узла необязательно указываются последовательно, а при обновлении выпуска HDInsight может менять формат имени узла для согласования с виртуальными машинами. Не нужно строго следовать тому или иному соглашению об именовании.
Ниже вы найдете ряд примеров того, как можно получить полные доменные имена узлов в кластере. Подробнее о REST API Ambari см. в статье Управление кластерами HDInsight с помощью REST API Ambari от Apache.
В следующем примере jq или ConvertFrom-Json используются для анализа документа ответа JSON и отображения имен узлов.
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