Aracılığıyla paylaş


Beeline kullanarak HiveServer2'ye Bağlan veya yerel bilgisayarınızdan bağlanmak için Beeline'ı yerel olarak yükleyin

Apache Beeline , HDInsight kümenizin baş düğümlerine dahil edilen bir Hive istemcisidir. Bu makalede, farklı bağlantı türleri arasında HDInsight kümenizde yüklü Beeline istemcisini kullanarak HiveServer2'ye nasıl bağlanılacağı açıklanmaktadır. Ayrıca Beeline istemcisinin yerel olarak nasıl yükleneceği de açıklanır.

Bağlantı türleri

SSH oturumundan

Bir SSH oturumundan küme baş düğümüne bağlanırken, bağlantı noktasındaki headnodehost10001adrese bağlanabilirsiniz:

beeline -u 'jdbc:hive2://headnodehost:10001/;transportMode=http'

Azure Sanal Ağ üzerinden

Azure Sanal Ağ üzerinden istemciden HDInsight'a bağlanırken, küme baş düğümünün tam etki alanı adını (FQDN) sağlamanız gerekir. Bu bağlantı doğrudan küme düğümlerine yapıldığından bağlantı bağlantı noktasını 10001kullanır:

beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/;transportMode=http'

değerini küme baş düğümünün tam etki alanı adıyla değiştirin <headnode-FQDN> . Baş düğümün tam etki alanı adını bulmak için Apache Ambari REST API kullanarak HDInsight'ı yönetme belgesindeki bilgileri kullanın.

Kerberos kullanarak HDInsight Kurumsal Güvenlik Paketi (ESP) kümesine

Bir istemciden kümenin aynı alanındaki bir makinede Microsoft Entra Domain Services'e katılmış bir Kurumsal Güvenlik Paketi (ESP) kümesine bağlanırken, kümeye <username>erişim izinleri olan bir etki alanı <AAD-Domain> kullanıcı hesabının adını ve etki alanı adını da belirtmeniz gerekir:

kinit <username>
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/default;principal=hive/_HOST@<AAD-Domain>;auth-kerberos;transportMode=http' -n <username>

değerini, kümeye erişim izinleri olan etki alanındaki bir hesabın adıyla değiştirin <username> . değerini, kümenin katıldığı Microsoft Entra Kimliğinin adıyla değiştirin <AAD-DOMAIN> . Değer için <AAD-DOMAIN> büyük harfli bir dize kullanın, aksi takdirde kimlik bilgisi bulunmaz. Gerekirse bölge adlarını denetleyin /etc/krb5.conf .

Ambari'den JDBC URL'sini bulmak için:

  1. Bir web tarayıcısından adresine gidin https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summary; burada CLUSTERNAME kümenizin adıdır. HiveServer2'nin çalıştığından emin olun.

  2. HiveServer2 JDBC URL'sini kopyalamak için panoyu kullanın.

Genel veya özel uç noktalar üzerinden

Genel veya özel uç noktaları kullanarak bir kümeye bağlanırken, küme oturum açma hesabı adını (varsayılan admin) ve parolayı sağlamanız gerekir. Örneğin, adrese bağlanmak clustername.azurehdinsight.net için bir istemci sisteminden Beeline kullanma. Bu bağlantı bağlantı noktası 443üzerinden yapılır ve TLS/SSL kullanılarak şifrelenir.

clustername değerini HDInsight kümenizin adıyla değiştirin. değerini kümenizin küme oturum açma hesabıyla değiştirin admin . ESP kümeleri için tam UPN'yi kullanın (örneğin, user@domain.com). yerine password küme oturum açma hesabının parolasını yazın.

beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'

veya özel uç nokta için:

beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'

Özel uç noktalar, yalnızca aynı bölgede eşlenen VNET'lerden erişilebilen temel bir yük dengeleyiciye işaret eder. Daha fazla bilgi için bkz . Genel sanal ağ eşlemesi ve yük dengeleyiciler üzerindeki kısıtlamalar. Beeline kullanmadan önce genel veya özel uç noktalarla ilgili bağlantı sorunlarını gidermek için komutunu seçeneğiyle -v birlikte kullanabilirsinizcurl.

Apache Spark ile Beeline kullanma

Apache Spark, bazen Spark Thrift sunucusu olarak adlandırılan kendi HiveServer2 uygulamasını sağlar. Bu hizmet, Hive yerine sorguları çözümlemek için Spark SQL kullanır. Sorgunuza bağlı olarak daha iyi performans sağlayabilir.

Genel veya özel uç noktalar aracılığıyla

Kullanılan bağlantı dizesi biraz farklıdır. bunu içermek httpPath=/hive2 yerine kullanır httpPath/sparkhive2. clustername değerini HDInsight kümenizin adıyla değiştirin. değerini kümenizin küme oturum açma hesabıyla değiştirin admin . yerine password küme oturum açma hesabının parolasını yazın.

Dekont

ESP kümeleri için değerini tam UPN ile değiştirin admin (örneğin, user@domain.com).

beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'

veya özel uç nokta için:

beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'

Özel uç noktalar, yalnızca aynı bölgede eşlenen VNET'lerden erişilebilen temel bir yük dengeleyiciye işaret eder. Daha fazla bilgi için bkz . Genel sanal ağ eşlemesi ve yük dengeleyiciler üzerindeki kısıtlamalar. Beeline kullanmadan önce genel veya özel uç noktalarla ilgili bağlantı sorunlarını gidermek için komutunu seçeneğiyle -v birlikte kullanabilirsinizcurl.

Apache Spark ile küme baş düğümünden veya Azure Sanal Ağ içinden

Doğrudan küme baş düğümünden veya HDInsight kümesiyle aynı Azure Sanal Ağ içindeki bir kaynaktan bağlanırken, bağlantı noktası 10002 yerine 10001Spark Thrift sunucusu için kullanılmalıdır. Aşağıdaki örnekte doğrudan baş düğüme nasıl bağlandığınız gösterilmektedir:

/usr/hdp/current/spark2-client/bin/beeline -u 'jdbc:hive2://headnodehost:10002/;transportMode=http'

Beeline istemcisini yükleme

Beeline baş düğümlere dahil olsa da yerel olarak yüklemek isteyebilirsiniz. Yerel makine yükleme adımları bir Linux için Windows Alt Sistemi temel alır.

  1. Paket listelerini güncelleştirin. Bash kabuğunuza aşağıdaki komutu girin:

    sudo apt-get update
    
  2. Yüklü değilse Java'yi yükleyin. komutunu kullanarak which java kontrol edebilirsiniz.

    1. Yüklü java paketi yoksa aşağıdaki komutu girin:

      sudo apt install openjdk-11-jre-headless
      
    2. Bashrc dosyasını açın (genellikle ~/.bashrc dosyasında bulunur): nano ~/.bashrc.

    3. Bashrc dosyasını değiştirme. Dosyanın sonuna aşağıdaki satırı ekleyin:

      export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
      

      Ardından Ctrl+X tuşlarına basın, ardından Y tuşuna basın ve ardından girin.

  3. Hadoop ve Beeline arşivlerini indirin, aşağıdaki komutları girin:

    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. Arşivlerin paketini açın, aşağıdaki komutları girin:

    tar -xvzf hadoop-2.7.3.tar.gz
    tar -xvzf apache-hive-1.2.1-bin.tar.gz
    
  5. Bashrc dosyasını daha fazla düzeltin. Arşivlerin paketlendiği yerin yolunu belirlemeniz gerekir. Linux için Windows Alt Sistemi kullanıyorsanız ve adımları tam olarak izlediyseniz, yolunuz /mnt/c/Users/user/olacaktır; burada user kullanıcı adınızdır.

    1. Dosyayı açın: nano ~/.bashrc

    2. Aşağıdaki komutları uygun yolla değiştirin ve bashrc dosyasının sonuna girin:

      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. Ardından Ctrl+X tuşlarına basın, ardından Y tuşuna basın ve ardından girin.

  6. Bash oturumlarını kapatın ve yeniden açın.

  7. Bağlantınızı test edin. Yukarıdaki Genel veya özel uç noktalar üzerinden bağlantı biçimini kullanın.

Sonraki adımlar