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:
Ve webovém prohlížeči přejděte do
https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summary
umístění , kdeCLUSTERNAME
je název vašeho clusteru. Ujistěte se, že je spuštěný HiveServer2.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 443
a 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 10001
Spark 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.
Aktualizace seznamů balíčků Do prostředí Bash zadejte následující příkaz:
sudo apt-get update
Pokud není nainstalovaná aplikace Java, nainstalujte ji. Příkaz můžete zkontrolovat
which java
.Pokud není nainstalovaný žádný balíček Java, zadejte následující příkaz:
sudo apt install openjdk-11-jre-headless
Otevřete soubor bashrc (často se nachází v souboru ~/.bashrc):
nano ~/.bashrc
.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.
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
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
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/
, kdeuser
je vaše uživatelské jméno.Otevřete soubor:
nano ~/.bashrc
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
Pak stiskněte Ctrl+X, pak Y a pak enter.
Zavřete a znovu otevřete relaci prostředí Bash.
Otestujte připojení. Použijte formát připojení z veřejných nebo privátních koncových bodů výše.
Další kroky
- Příklady použití klienta Beeline s Apache Hivem najdete v tématu Použití Apache Beeline s Apache Hivem.
- Další obecné informace o Hivu ve službě HDInsight najdete v tématu Použití Apache Hivu s Apache Hadoopem ve službě HDInsight.