الاتصال بـ HiveServer2 باستخدام Beeline أو تثبيت Beeline محليًا للاتصال من جهازك المحلي
Apache Beeline هو عميل Apache Hive مضمن في العقد الرئيسية لمجموعة HDInsight الخاصة بك. توضح هذه المقالة كيفية الاتصال بـ HiveServer2 باستخدام عميل Beeline المثبت على مجموعة HDInsight عبر أنواع مختلفة من الاتصالات. كما يناقش أيضاً كيفية تثبيت عميل Beeline محلياً.
أنواع الاتصالات
من جلسة SSH
عند الاتصال من جلسة SSH بالعقد الرئيسي لنظام المجموعة، يمكنك بعد ذلك الاتصال بالعنوان headnodehost
الموجود على المنفذ 10001
:
beeline -u 'jdbc:hive2://headnodehost:10001/;transportMode=http'
عبر Azure Virtual Network
عند الاتصال من عميل بـ HDInsight عبر Azure Virtual Network، يجب توفير اسم المجال المؤهل بالكامل (FQDN) لعقدة رأس نظام المجموعة. نظراً لأن هذا الاتصال يتم مباشرة إلى عقد المجموعة، فإن الاتصال يستخدم المنفذ 10001
:
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/;transportMode=http'
استبدل <headnode-FQDN>
باسم المجال المؤهل بالكامل للعقد الرئيسي للمجموعة. للعثور على اسم المجال المؤهل بالكامل للعقد الرئيسي، استخدم المعلومات الواردة في مستند إدارة HDInsight باستخدام Apache Ambari REST API .
إلى مجموعة HDInsight Enterprise Security Package (ESP) باستخدام Kerberos
عند الاتصال من عميل بمجموعة حزمة أمان المؤسسة (ESP) المنضمة إلى Microsoft Entra Domain Services على جهاز في نفس نطاق المجموعة، يجب عليك أيضا تحديد اسم <AAD-Domain>
المجال واسم حساب مستخدم المجال مع أذونات للوصول إلى نظام المجموعة <username>
:
kinit <username>
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/default;principal=hive/_HOST@<AAD-Domain>;auth-kerberos;transportMode=http' -n <username>
استبدل <username>
باسم حساب على المجال بأذونات للوصول إلى نظام المجموعة. استبدل <AAD-DOMAIN>
باسم معرف Microsoft Entra الذي تم ضم نظام المجموعة إليه. استخدم سلسلة أحرف كبيرة لقيمة <AAD-DOMAIN>
، وإلا فلن يتم العثور على بيانات الاعتماد. حدد /etc/krb5.conf
بحثاً عن أسماء المجالات إذا لزم الأمر.
للعثور على عنوان URL لـ JDBC من Ambari:
من متصفح ويب، انتقل إلى
https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summary
، حيثCLUSTERNAME
هو اسم نظام المجموعة. تأكد من تشغيل HiveServer2.استخدم الحافظة لنسخ HiveServer2 JDBC URL.
على نقاط النهاية العامة أو الخاصة
عند الاتصال بمجموعة باستخدام نقاط النهاية العامة أو الخاصة، يجب توفير اسم حساب تسجيل الدخول إلى المجموعة (الافتراضي admin
) وكلمة المرور. على سبيل المثال، استخدام Beeline من نظام عميل للاتصال بالعنوان clustername.azurehdinsight.net
. يتم إجراء هذا الاتصال عبر المنفذ 443
، ويتم تشفيره باستخدام TLS/SSL.
استبدل clustername
باسم مجموعة HDInsight الخاصة بك. استبدل admin
بحساب تسجيل الدخول إلى نظام المجموعة الخاص بك. بالنسبة لمجموعات ESP، استخدم UPN الكامل (على سبيل المثال، user@domain.com). استبدل password
بكلمة المرور لحساب تسجيل الدخول إلى المجموعة.
beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'
أو لنقطة نهاية خاصة:
beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'
تشير نقاط النهاية الخاصة إلى موازن تحميل أساسي، والذي لا يمكن الوصول إليه إلا من شبكات VNET الموجودة في نفس المنطقة. راجع القيود المفروضة على نظير VNet العالمي وموازن التحميل لمزيد من المعلومات. يمكنك استخدام خيار curl
الأمر مع -v
لاستكشاف أي مشكلات في الاتصال بنقاط النهاية العامة أو الخاصة وإصلاحها قبل استخدام Beeline.
استخدم Beeline مع Apache Spark
يوفر Apache Spark تطبيقه الخاص لـ HiveServer2، والذي يشار إليه أحياناً باسم خادم Spark Thrift. تستخدم هذه الخدمة Spark SQL لحل الاستعلامات بدلاً من Apache Hive. وقد يوفر أداءً أفضل بناءً على استعلامك.
من خلال نقاط النهاية العامة أو الخاصة
سلسلة الاتصال المستخدمة مختلفة قليلاً. بدلاً من احتواء httpPath=/hive2
فإنه يستخدم httpPath/sparkhive2
. استبدل clustername
باسم مجموعة HDInsight الخاصة بك. استبدل admin
بحساب تسجيل الدخول إلى نظام المجموعة الخاص بك. استبدل password
بكلمة المرور لحساب تسجيل الدخول إلى المجموعة.
إشعار
بالنسبة لمجموعات ESP، استبدل admin
بـ UPN الكامل (على سبيل المثال، user@domain.com).
beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'
أو لنقطة نهاية خاصة:
beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'
تشير نقاط النهاية الخاصة إلى موازن تحميل أساسي، والذي لا يمكن الوصول إليه إلا من شبكات VNET الموجودة في نفس المنطقة. راجع القيود المفروضة على نظير VNet العالمي وموازن التحميل لمزيد من المعلومات. يمكنك استخدام خيار curl
الأمر مع -v
لاستكشاف أي مشكلات في الاتصال بنقاط النهاية العامة أو الخاصة وإصلاحها قبل استخدام Beeline.
من عقدة رأس المجموعة أو داخل Azure Virtual Network مع Apache Spark
عند الاتصال مباشرة من عقدة رأس المجموعة، أو من مورد داخل نفس Azure Virtual Network مثل مجموعة HDInsight، يجب استخدام المنفذ 10002
لخادم Spark Thrift بدلاً من 10001
. يوضح المثال التالي كيفية الاتصال مباشرة بالعقدة الرئيسية:
/usr/hdp/current/spark2-client/bin/beeline -u 'jdbc:hive2://headnodehost:10002/;transportMode=http'
تثبيت عميل Beeline
على الرغم من تضمين Beeline في العقد الرئيسية، فقد ترغب في تثبيته محلياً. تعتمد خطوات التثبيت للجهاز المحلي على نظام Windows الفرعي لـ Linux.
تحديث قوائم الحزم. أدخل الأمر التالي في غلاف bash الخاص بك:
sudo apt-get update
قم بتثبيت Java إذا لم تكن مثبتة. يمكنك التحقق من الأمر
which java
.إذا لم يتم تثبيت حزمة جافا، أدخل الأمر التالي:
sudo apt install openjdk-11-jre-headless
افتح ملف bashrc (غالباً ما يوجد في ~/.bashrc):
nano ~/.bashrc
.تعديل ملف bashrc. أضف السطر التالي في نهاية الملف:
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
ثم اضغط على Ctrl+X، ثم Y، ثم Enter.
قم بتنزيل أرشيفات Hadoop وBeeline، أدخل الأوامر التالية:
wget https://archive.apache.org/dist/hadoop/core/hadoop-2.7.3/hadoop-2.7.3.tar.gz wget https://archive.apache.org/dist/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz
قم بفك ضغط الأرشيف، أدخل الأوامر التالية:
tar -xvzf hadoop-2.7.3.tar.gz tar -xvzf apache-hive-1.2.1-bin.tar.gz
مزيد من تعديل ملف bashrc. ستحتاج إلى تحديد المسار إلى حيث تم تفريغ الأرشيف. إذا كنت تستخدم نظام Windows الفرعي لـ Linux، واتبعت الخطوات بدقة، فسيكون مسارك هو
/mnt/c/Users/user/
، حيثuser
هو اسم المستخدم الخاص بك.افتح الملف:
nano ~/.bashrc
قم بتعديل الأوامر أدناه بالمسار المناسب ثم أدخلها في نهاية ملف bashrc:
export HADOOP_HOME=/path_where_the_archives_were_unpacked/hadoop-2.7.3 export HIVE_HOME=/path_where_the_archives_were_unpacked/apache-hive-1.2.1-bin PATH=$PATH:$HIVE_HOME/bin
ثم اضغط على Ctrl+X، ثم Y، ثم Enter.
أغلق جلسة bash ثم أعد فتحها.
اختبر اتصالك. استخدم تنسيق الاتصال من عبر نقاط النهاية العامة أو الخاصة أعلاه.
الخطوات التالية
- للحصول على أمثلة لاستخدام عميل Beeline مع Apache Hive، راجع استخدام Apache Beeline مع Apache Hive
- لمزيد من المعلومات العامة حول Apache Hive في HDInsight، راجع استخدام Apache Hive مع Apache Hadoop على HDInsight
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ