البحث عن أسماء المضيفين لعقد نظام المجموعة
تم إنشاء مجموعة HDInsight باستخدام DNS العام clustername.azurehdinsight.net
. عند SSH إلى العقد الفردية أو إعداد اتصال بعقد نظام المجموعة داخل نفس الشبكة الظاهرية المخصصة، تحتاج إلى استخدام اسم المضيف أو أسماء المجالات المؤهلة بالكامل (FQDN) لعقد نظام المجموعة.
في هذه المقالة، سوف تتعلم كيفية الحصول على أسماء المضيف لعقد نظام المجموعة. يمكنك الحصول عليه يدويًا من خلال واجهة المستخدم ويب أمباري أو تلقائيًا من خلال واجهة برمجة تطبيقات Ambari REST.
تحذير
من فضلك استخدم الطرق الموصى بها التالية لجلب أسماء المضيف من عقد نظام المجموعة. الأرقام الموجودة في اسم المضيف غير مضمونة بالتسلسل وقد تقوم HDInsight بتغيير تنسيق اسم المضيف لتتماشى مع أجهزة VM مع تحديث الإصدار. لا تعتمد على أي اصطلاح تسمية معين موجود اليوم.
يمكنك الحصول على أسماء المضيفين من خلال واجهة المستخدم أمباري أو واجهة برمجة تطبيقات Ambari REST.
احصل على أسماء المضيف من واجهة مستخدم ويب Ambari
يمكنك استخدام واجهة مستخدم ويب Ambari للحصول على أسماء المضيف عندما تقوم SSH إلى العقدة. يتوفر عرض المضيفين "واجهة المستخدم ويب Ambari" على نظام المجموعة HDInsight في https://CLUSTERNAME.azurehdinsight.net/#/main/hosts
، حيث CLUSTERNAME
هو اسم المجموعة الخاصة بك.
الحصول على أسماء المضيفين من واجهة برمجة تطبيقات AMBARI REST
عند إنشاء البرامج النصية للتنفيذ التلقائي فيما يخص، يمكنك استخدام Ambari REST API للحصول على أسماء المضيف قبل إجراء اتصالات بالمضيفين. الأرقام الموجودة في اسم المضيف غير مضمونة بالتسلسل وقد تقوم HDInsight بتغيير تنسيق اسم المضيف لتتماشى مع أجهزة VM مع تحديث الإصدار. لا تعتمد على أي اصطلاح تسمية معين موجود اليوم.
فيما يلي بعض الأمثلة حول كيفية استرداد FQDN للعقد في المجموعة. لمزيد من المعلومات حول واجهة برمجة تطبيقات Ambari REST، راجع إدارة مجموعات HDInsight باستخدام واجهة برمجة تطبيقات Apache Ambari REST
يستخدم المثال التالي 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