Sdílet prostřednictvím


Připojení k HiveServer2 pomocí Beeline nebo instalace Beeline místně pro připojení z místního prostředí

Apache Beeline je klient Hive, který je součástí hlavních uzlů vašeho clusteru HDInsight. Tento článek popisuje, jak se připojit k HiveServer2 pomocí klienta Beeline nainstalovaného v clusteru HDInsight napříč různými typy připojení. Popisuje také, jak nainstalovat klienta Beeline místně.

Typy připojení

Z relace SSH

Když se připojíte z relace SSH k hlavnímu uzlu clusteru, můžete se připojit k headnodehost adrese na portu 10001:

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

Přes virtuální síť Azure

Když se připojíte z klienta ke službě HDInsight přes virtuální síť Azure, musíte zadat plně kvalifikovaný název domény (FQDN) hlavního uzlu clusteru. Vzhledem k tomu, že se toto připojení provádí přímo k uzlům clusteru, připojení používá port 10001:

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

Nahraďte <headnode-FQDN> plně kvalifikovaným názvem domény hlavního uzlu clusteru. Pokud chcete najít plně kvalifikovaný název domény hlavního uzlu, použijte informace ve spravované službě HDInsight pomocí dokumentu rozhraní REST API Apache Ambari.

Cluster s balíčkem zabezpečení (ESP) služby HDInsight s využitím protokolu Kerberos

Když se připojíte z klienta ke clusteru Enterprise Security Package (ESP) připojený ke službě Microsoft Entra Domain Services na počítači ve stejné sférě clusteru, musíte také zadat název <AAD-Domain> domény a název uživatelského účtu domény s oprávněními pro přístup ke clusteru <username>:

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

Nahraďte <username> názvem účtu v doméně oprávněními pro přístup ke clusteru. Nahraďte <AAD-DOMAIN> názvem ID Microsoft Entra, ke kterému je cluster připojený. Pro hodnotu použijte řetězec velkými písmeny <AAD-DOMAIN> , jinak se přihlašovací údaje nenajdou. V případě potřeby zkontrolujte /etc/krb5.conf názvy sfér.

Vyhledání adresy URL JDBC z Ambari:

  1. Ve webovém prohlížeči přejděte do https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summaryumístění , kde CLUSTERNAME je název vašeho clusteru. Ujistěte se, že je spuštěný HiveServer2.

  2. Pomocí schránky zkopírujte adresu URL JDBC HiveServer2.

Přes veřejné nebo privátní koncové body

Když se připojíte ke clusteru pomocí veřejných nebo privátních koncových bodů, musíte zadat název přihlašovacího účtu clusteru (výchozí admin) a heslo. Například použití Beeline z klientského systému pro připojení k clustername.azurehdinsight.net adrese. Toto připojení se provádí přes port 443a je šifrované pomocí protokolu TLS/SSL.

Parametr clustername nahraďte názvem vašeho clusteru HDInsight. Nahraďte admin přihlašovacím účtem clusteru pro váš cluster. Pro clustery ESP použijte úplný hlavní název uživatele (UPN user@domain.com). Nahraďte password heslem pro přihlašovací účet clusteru.

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

Nebo pro privátní koncový bod:

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

Privátní koncové body odkazují na nástroj pro vyrovnávání zatížení úrovně Basic, ke kterému je možné přistupovat pouze z partnerských uzlů virtuálních sítí ve stejné oblasti. Další informace najdete v omezení globálních partnerských vztahů virtuálních sítí a nástrojích pro vyrovnávání zatížení. Pomocí příkazu -v s možností můžete curl před použitím beeline vyřešit všechny problémy s připojením s veřejnými nebo privátními koncovými body.

Použití Beeline s Apache Sparkem

Apache Spark poskytuje vlastní implementaci HiveServer2, která se někdy označuje jako server Spark Thrift. Tato služba používá Spark SQL k překladu dotazů místo Hivu. A může poskytovat lepší výkon v závislosti na vašem dotazu.

Prostřednictvím veřejných nebo privátních koncových bodů

Použitý připojovací řetězec se mírně liší. Místo jeho použití httpPath=/hive2 httpPath/sparkhive2. Parametr clustername nahraďte názvem vašeho clusteru HDInsight. Nahraďte admin přihlašovacím účtem clusteru pro váš cluster. Nahraďte password heslem pro přihlašovací účet clusteru.

Poznámka:

V případě clusterů ESP nahraďte admin úplným upN (například user@domain.com).

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

Nebo pro privátní koncový bod:

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

Privátní koncové body odkazují na nástroj pro vyrovnávání zatížení úrovně Basic, ke kterému je možné přistupovat pouze z partnerských uzlů virtuálních sítí ve stejné oblasti. Další informace najdete v omezení globálních partnerských vztahů virtuálních sítí a nástrojích pro vyrovnávání zatížení. Pomocí příkazu -v s možností můžete curl před použitím beeline vyřešit všechny problémy s připojením s veřejnými nebo privátními koncovými body.

Z hlavního uzlu clusteru nebo ve službě Azure Virtual Network pomocí Apache Sparku

Pokud se připojujete přímo z hlavního uzlu clusteru nebo z prostředku ve stejné virtuální síti Azure jako cluster HDInsight, měl by se místo něj použít port 10002 pro server 10001Spark Thrift. Následující příklad ukazuje, jak se připojit přímo k hlavnímu uzlu:

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

Instalace klienta Beeline

I když je Beeline součástí hlavních uzlů, možná ho budete chtít nainstalovat místně. Kroky instalace místního počítače jsou založené na Subsystém Windows pro Linux.

  1. Aktualizace seznamů balíčků Do prostředí Bash zadejte následující příkaz:

    sudo apt-get update
    
  2. Pokud není nainstalovaná aplikace Java, nainstalujte ji. Příkaz můžete zkontrolovat which java .

    1. Pokud není nainstalovaný žádný balíček Java, zadejte následující příkaz:

      sudo apt install openjdk-11-jre-headless
      
    2. Otevřete soubor bashrc (často se nachází v souboru ~/.bashrc): nano ~/.bashrc.

    3. Změní soubor Bashrc. Na konec souboru přidejte následující řádek:

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

      Pak stiskněte Ctrl+X, pak Y a pak enter.

  3. Stáhněte si archivy Hadoop a Beeline, zadejte následující příkazy:

    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. Rozbalte archivy a zadejte následující příkazy:

    tar -xvzf hadoop-2.7.3.tar.gz
    tar -xvzf apache-hive-1.2.1-bin.tar.gz
    
  5. Soubor bashrc dále změníte. Budete muset určit cestu, kam byly archivy rozbaleny. Pokud používáte Subsystém Windows pro Linux a postupovali jste přesně podle kroků, cesta by byla /mnt/c/Users/user/, kde user je vaše uživatelské jméno.

    1. Otevřete soubor: nano ~/.bashrc

    2. Upravte následující příkazy odpovídající cestou a zadejte je na konec souboru 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. Pak stiskněte Ctrl+X, pak Y a pak enter.

  6. Zavřete a znovu otevřete relaci prostředí Bash.

  7. Otestujte připojení. Použijte formát připojení z veřejných nebo privátních koncových bodů výše.

Další kroky