Menyambungkan ke HiveServer2 menggunakan Beeline atau menginstal Beeline secara lokal untuk tersambung dari lokal Anda
Apache Beeline adalah klien Hive yang termasuk dalam head node kluster HDInsight Anda. Artikel ini menjelaskan cara menyambungkan ke HiveServer2 menggunakan klien Beeline yang terinstal pada kluster HDInsight Anda di berbagai jenis koneksi. Ini juga membahas cara Menginstal klien Beeline secara lokal.
Jenis koneksi
Dari sesi SSH
Saat menyambungkan dari sesi SSH ke headnode kluster, Anda kemudian dapat menyambungkan ke alamat headnodehost
pada port 10001
:
beeline -u 'jdbc:hive2://headnodehost:10001/;transportMode=http'
Melalui Azure Virtual Network
Saat menyambungkan dari klien ke HDInsight melalui Azure Virtual Network, Anda harus memberikan nama domain yang sepenuhnya memenuhi syarat (FQDN) dari head node kluster. Karena koneksi ini dibuat langsung ke node kluster, koneksinya menggunakan port 10001
:
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/;transportMode=http'
Ganti <headnode-FQDN>
dengan nama domain yang sepenuhnya memenuhi syarat dari headnode kluster. Untuk menemukan nama domain headnode yang sepenuhnya memenuhi syarat, gunakan informasi di dokumen Mengelola HDInsight menggunakan Apache Ambari REST API.
Untuk kluster HDInsight Enterprise Security Package (ESP) yang menggunakan Kerberos
Saat menyambungkan dari klien ke kluster Paket Keamanan Perusahaan (ESP) yang bergabung ke Microsoft Entra Domain Services pada komputer di ranah kluster yang sama, Anda juga harus menentukan nama <AAD-Domain>
domain dan nama akun pengguna domain dengan izin untuk mengakses kluster <username>
:
kinit <username>
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/default;principal=hive/_HOST@<AAD-Domain>;auth-kerberos;transportMode=http' -n <username>
Ganti <username>
dengan nama akun pada domain dengan izin untuk mengakses kluster. Ganti <AAD-DOMAIN>
dengan nama ID Microsoft Entra tempat kluster digabungkan. Gunakan string huruf besar untuk nilai <AAD-DOMAIN>
, jika tidak, maka kredensial tidak akan ditemukan. Periksa /etc/krb5.conf
untuk nama realm jika diperlukan.
Untuk menemukan URL JDBC dari Ambari:
Dari browser web, arahkan ke
https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summary
, di manaCLUSTERNAME
merupakan nama kluster Anda. Pastikan HiveServer2 berjalan.Gunakan clipboard untuk menyalin URL HiveServer2 JDBC.
Melalui titik akhir publik atau privat
Saat menyambungkan ke kluster menggunakan titik akhir publik atau privat, Anda harus memberikan nama akun login kluster (default admin
) dan kata sandi. Misalnya, menggunakan Beeline dari sistem klien untuk menyambungkan ke alamat clustername.azurehdinsight.net
. Sambungan ini dibuat melalui port 443
, dan dienkripsi menggunakan TLS/SSL.
Ganti clustername
dengan nama kluster HDInsight Anda. Ganti admin
dengan akun masuk kluster untuk kluster Anda. Untuk kluster ESP, gunakan UPN lengkap (misalnya, user@domain.com). Ganti password
dengan kata sandi untuk akun masuk kluster.
beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'
atau untuk titik akhir privat:
beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'
Titik akhir privat menunjuk ke load balancer dasar, yang hanya dapat diakses dari VNET yang dipasangkan di wilayah yang sama. Lihat batasan pada peering VNet global dan load balancer untuk informasi lebih lanjut. Anda dapat menggunakan perintah curl
dengan opsi -v
untuk memecahkan masalah konektivitas dengan titik akhir publik atau privat sebelum menggunakan beeline.
Gunakan Beeline dengan Apache Spark
Apache Spark menyediakan implementasi HiveServer2 sendiri, yang kadang-kadang disebut sebagai server Spark Thrift. Layanan ini menggunakan Spark SQL untuk menyelesaikan kueri alih-alih Hive. Dan mungkin memberikan kinerja yang lebih baik, tergantung kueri Anda.
Melalui titik akhir publik atau privat
String koneksi yang digunakan sedikit berbeda. Alih-alih berisi httpPath=/hive2
, ini menggunakan httpPath/sparkhive2
. Ganti clustername
dengan nama kluster HDInsight Anda. Ganti admin
dengan akun masuk kluster untuk kluster Anda. Ganti password
dengan kata sandi untuk akun masuk kluster.
Catatan
Untuk kluster ESP, ganti admin
dengan UPN penuh (misalnya, user@domain.com).
beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'
atau untuk titik akhir privat:
beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'
Titik akhir privat menunjuk ke load balancer dasar, yang hanya dapat diakses dari VNET yang dipasangkan di wilayah yang sama. Lihat batasan pada peering VNet global dan load balancer untuk informasi lebih lanjut. Anda dapat menggunakan perintah curl
dengan opsi -v
untuk memecahkan masalah konektivitas dengan titik akhir publik atau privat sebelum menggunakan beeline.
Dari node kepala kluster atau di dalam Azure Virtual Network dengan Apache Spark
Saat menghubungkan langsung dari head node kluster, atau dari sumber daya di dalam Azure Virtual Network yang sama dengan kluster HDInsight, port 10002
harus digunakan untuk server Spark Thrift alih-alih 10001
. Contoh berikut menunjukkan cara terhubung langsung ke head node:
/usr/hdp/current/spark2-client/bin/beeline -u 'jdbc:hive2://headnodehost:10002/;transportMode=http'
Menginstal klien Beeline
Meskipun Beeline disertakan pada head node, Anda mungkin ingin menginstalnya secara lokal. Langkah-langkah penginstalan untuk komputer lokal didasarkan pada Subsistem Windows untuk Linux.
Daftar paket pembaruan. Masukkan perintah berikut di shell bash Anda:
sudo apt-get update
Instal Java jika tidak terinstal. Anda dapat memeriksa dengan perintah
which java
.Jika tidak ada paket Java yang terinstal, masukkan perintah berikut:
sudo apt install openjdk-11-jre-headless
Buka file bashrc (sering ditemukan di ~/.bashrc):
nano ~/.bashrc
.Ubah file bashrc. Tambahkan baris berikut di akhir file:
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Selanjutnya tekan Ctrl+X, lalu Y, kemudian masukkan.
Unduh arsip Hadoop dan Beeline, masukkan perintah berikut:
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
Bongkar paket, masukkan perintah berikut:
tar -xvzf hadoop-2.7.3.tar.gz tar -xvzf apache-hive-1.2.1-bin.tar.gz
Selanjutnya, ubah file bashrc. Anda harus mengidentifikasi jalur ke tempat arsip dibongkar. Jika menggunakan Subsistem Windows untuk Linux, dan Anda mengikuti langkah-langkah persis, jalur Anda akan
/mnt/c/Users/user/
, denganuser
adalah nama pengguna Anda.Buka file:
nano ~/.bashrc
Ubah perintah di bawah ini dengan jalur yang sesuai, lalu masukkan di bagian akhir file 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
Selanjutnya tekan Ctrl+X, lalu Y, kemudian masukkan.
Tutup lalu buka kembali sesi bash Anda.
Uji koneksi Anda. Gunakan format koneksi dari Melalui titik akhir publik atau privat di atas.
Langkah berikutnya
- Misalnya menggunakan klien Beeline dengan Apache Hive, lihat Menggunakan Apache Beeline dengan Apache Hive
- Untuk informasi umum lainnya tentang Apache Hive di HDInsight, lihat Menggunakan Apache Hive dengan Apache Hadoop di HDInsight
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk