Bagikan melalui


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:

  1. Dari browser web, arahkan ke https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summary, di mana CLUSTERNAME merupakan nama kluster Anda. Pastikan HiveServer2 berjalan.

  2. 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.

  1. Daftar paket pembaruan. Masukkan perintah berikut di shell bash Anda:

    sudo apt-get update
    
  2. Instal Java jika tidak terinstal. Anda dapat memeriksa dengan perintah which java.

    1. Jika tidak ada paket Java yang terinstal, masukkan perintah berikut:

      sudo apt install openjdk-11-jre-headless
      
    2. Buka file bashrc (sering ditemukan di ~/.bashrc): nano ~/.bashrc.

    3. 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.

  3. 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
    
  4. Bongkar paket, masukkan perintah berikut:

    tar -xvzf hadoop-2.7.3.tar.gz
    tar -xvzf apache-hive-1.2.1-bin.tar.gz
    
  5. 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/, dengan user adalah nama pengguna Anda.

    1. Buka file: nano ~/.bashrc

    2. 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
      
    3. Selanjutnya tekan Ctrl+X, lalu Y, kemudian masukkan.

  6. Tutup lalu buka kembali sesi bash Anda.

  7. Uji koneksi Anda. Gunakan format koneksi dari Melalui titik akhir publik atau privat di atas.

Langkah berikutnya