Menemukan nama host dari simpul kluster
Kluster HDInsight dibuat dengan DNS clustername.azurehdinsight.net
publik. Ketika Anda SSH ke simpul individual atau menyiapkan koneksi ke node kluster dalam jaringan virtual kustom yang sama, Anda perlu menggunakan nama host atau nama domain yang sepenuhnya memenuhi syarat (FQDN) simpul kluster.
Dalam artikel ini, Anda belajar cara mendapatkan nama host dari node kluster. Anda bisa mendapatkannya secara manual melalui Ambari Web UI atau secara otomatis melalui Ambari REST API.
Peringatan
Silakan gunakan pendekatan yang disarankan berikut untuk mengambil nama host dari node kluster. Angka-angka dalam nama host tidak dijamin secara berurutan dan HDInsight dapat mengubah format nama host agar selaras dengan VM dengan refresh rilis. Jangan mengambil ketergantungan pada konvensi penamaan tertentu yang ada saat ini.
Anda bisa mendapatkan nama host melalui Ambari UI atau Ambari REST API.
Dapatkan nama host dari Ambari Web UI
Anda dapat menggunakan Ambari Web UI untuk mendapatkan nama host ketika Anda SSH ke node. Tampilan host Ambari Web UI tersedia di kluster HDInsight Anda di https://CLUSTERNAME.azurehdinsight.net/#/main/hosts
tempat CLUSTERNAME
nama kluster Anda.
Dapatkan nama host dari Ambari REST API
Saat membuat skrip otomatisasi, Anda dapat menggunakan Ambari REST API untuk mendapatkan nama host sebelum Anda membuat koneksi ke host. Angka-angka dalam nama host tidak dijamin secara berurutan dan HDInsight dapat mengubah format nama host agar selaras dengan VM dengan refresh rilis. Jangan mengambil ketergantungan pada konvensi penamaan tertentu yang ada saat ini.
Berikut adalah beberapa contoh cara mengambil FQDN untuk node di dalam kluster. Untuk informasi selengkapnya tentang Ambari REST API, lihat Mengelola kluster HDInsight dengan menggunakan REST API APACHE Ambari
Contoh berikut menggunakan jq atau ConvertFrom-Json untuk memilah dokumen respons JSON dan hanya menampilkan nama 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