Csatlakozás a HiveServer2-be a Beeline használatával, vagy telepítse helyileg a Beeline-t a helyi csatlakozáshoz
Az Apache Beeline egy Hive-ügyfél, amely a HDInsight-fürt fő csomópontjain található. Ez a cikk bemutatja, hogyan csatlakozhat a HiveServer2-hez a HDInsight-fürtön telepített Beeline-ügyféllel különböző típusú kapcsolatokon keresztül. Azt is ismerteti, hogyan telepítheti a Beeline-ügyfelet helyileg.
Kapcsolatok típusai
SSH-munkamenetből
Amikor SSH-munkamenetből fürt-átjárócsomóponthoz csatlakozik, a porton 10001
lévő címhez headnodehost
csatlakozhat:
beeline -u 'jdbc:hive2://headnodehost:10001/;transportMode=http'
Azure-beli virtuális hálózaton keresztül
Amikor egy ügyfélről csatlakozik a HDInsighthoz egy Azure-beli virtuális hálózaton keresztül, meg kell adnia egy fürtfőcsomópont teljes tartománynevét (FQDN). Mivel ez a kapcsolat közvetlenül a fürtcsomópontokhoz jön létre, a kapcsolat portot 10001
használ:
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/;transportMode=http'
Cserélje le <headnode-FQDN>
a fürt átjárócsomópontjának teljes tartománynevére. Az átjárócsomópont teljes tartománynevének megkereséséhez használja a HDInsight kezelése szolgáltatásban található információkat az Apache Ambari REST API-dokumentum használatával.
HDInsight Enterprise Security Package (ESP) fürtre a Kerberos használatával
Amikor ügyfélről csatlakozik egy Vállalati biztonsági csomag (ESP) fürthöz, amely a Microsoft Entra Domain Services szolgáltatáshoz csatlakozik a fürt ugyanazon területén található gépen, meg kell adnia egy tartománynevet <AAD-Domain>
és egy tartományi felhasználói fiók nevét is, amely rendelkezik a fürt <username>
elérésére vonatkozó engedélyekkel:
kinit <username>
beeline -u 'jdbc:hive2://<headnode-FQDN>:10001/default;principal=hive/_HOST@<AAD-Domain>;auth-kerberos;transportMode=http' -n <username>
Cserélje le <username>
a tartománybeli fiók nevére a fürt elérésére vonatkozó engedélyekkel. Cserélje le <AAD-DOMAIN>
annak a Microsoft Entra-azonosítónak a nevét, amelyhez a fürt csatlakozik. Használjon nagybetűs sztringet az <AAD-DOMAIN>
értékhez, ellenkező esetben a hitelesítő adatok nem találhatók. Szükség esetén ellenőrizze /etc/krb5.conf
a tartományneveket.
A JDBC URL-címének megkeresése az Ambaritól:
Egy webböngészőben keresse meg
https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summary
CLUSTERNAME
a fürt nevét. Győződjön meg arról, hogy a HiveServer2 fut.A HiveServer2 JDBC URL-címének másolása vágólap használatával.
Nyilvános vagy privát végpontokon keresztül
Amikor nyilvános vagy privát végpontok használatával csatlakozik egy fürthöz, meg kell adnia a fürt bejelentkezési fiókjának nevét (alapértelmezett admin
) és jelszavát. Például egy ügyfélrendszer beeline-jának használatával kapcsolódhat a clustername.azurehdinsight.net
címhez. Ez a kapcsolat porton 443
keresztül jön létre, és TLS/SSL használatával van titkosítva.
Cserélje le a clustername
kifejezést a HDInsight-fürt nevére. Cserélje le admin
a fürt fürt bejelentkezési fiókjára. ESP-fürtök esetén használja a teljes UPN-t (például user@domain.com). Cserélje le password
a fürt bejelentkezési fiókjának jelszavát.
beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'
vagy privát végpont esetén:
beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/hive2' -n admin -p 'password'
A privát végpontok egy alapszintű terheléselosztóra mutatnak, amely csak az ugyanabban a régióban társviszonyban lévő VNET-ekből érhető el. További információkért tekintse meg a globális virtuális hálózatok társviszony-létesítési és terheléselosztóira vonatkozó korlátozásokat . A parancs használatával -v
a beeline használata előtt elháríthatja a curl
nyilvános vagy privát végpontokkal kapcsolatos csatlakozási problémákat.
A Beeline használata az Apache Sparkkal
Az Apache Spark a HiveServer2 saját implementációját biztosítja, amelyet néha Spark Thrift-kiszolgálónak is neveznek. Ez a szolgáltatás a Spark SQL használatával oldja meg a lekérdezéseket Hive helyett. A lekérdezéstől függően pedig jobb teljesítményt biztosíthat.
Nyilvános vagy privát végpontokon keresztül
A használt kapcsolati sztring kissé eltérőek. Ahelyett, hogy tartalmazza httpPath=/hive2
azt használja httpPath/sparkhive2
. Cserélje le a clustername
kifejezést a HDInsight-fürt nevére. Cserélje le admin
a fürt fürt bejelentkezési fiókjára. Cserélje le password
a fürt bejelentkezési fiókjának jelszavát.
Megjegyzés:
ESP-fürtök esetén cserélje le admin
a teljes UPN-et (például user@domain.com).
beeline -u 'jdbc:hive2://clustername.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'
vagy privát végpont esetén:
beeline -u 'jdbc:hive2://clustername-int.azurehdinsight.net:443/;ssl=true;transportMode=http;httpPath=/sparkhive2' -n admin -p 'password'
A privát végpontok egy alapszintű terheléselosztóra mutatnak, amely csak az ugyanabban a régióban társviszonyban lévő VNET-ekből érhető el. További információkért tekintse meg a globális virtuális hálózatok társviszony-létesítési és terheléselosztóira vonatkozó korlátozásokat . A parancs használatával -v
a beeline használata előtt elháríthatja a curl
nyilvános vagy privát végpontokkal kapcsolatos csatlakozási problémákat.
Fürtfőcsomópontról vagy az Azure Virtual Networkben az Apache Spark használatával
Ha közvetlenül a fürtfőcsomópontról vagy egy, a HDInsight-fürtvel azonos Azure-beli virtuális hálózaton belüli erőforrásból csatlakozik, akkor a Spark Thrift-kiszolgálóhoz kell portot 10002
használni ahelyett 10001
, hogy . Az alábbi példa bemutatja, hogyan csatlakozhat közvetlenül a fő csomóponthoz:
/usr/hdp/current/spark2-client/bin/beeline -u 'jdbc:hive2://headnodehost:10002/;transportMode=http'
A Beeline-ügyfél telepítése
Bár a Beeline megtalálható a fő csomópontokon, érdemes lehet helyileg telepíteni. A helyi gépek telepítési lépései egy Linuxos Windows-alrendszer alapulnak.
Csomaglisták frissítése. Adja meg a következő parancsot a bash-rendszerhéjban:
sudo apt-get update
Telepítse a Java-t, ha nincs telepítve. A parancsot
which java
ellenőrizheti.Ha nincs telepítve Java-csomag, írja be a következő parancsot:
sudo apt install openjdk-11-jre-headless
Nyissa meg a bashrc fájlt (gyakran megtalálható a ~/.bashrc fájlban):
nano ~/.bashrc
.Módosítsa a bashrc fájlt. Adja hozzá a következő sort a fájl végéhez:
export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Ezután nyomja le a Ctrl+X, majd az Y billentyűkombinációt, majd írja be az enter billentyűt.
Töltse le a Hadoop és a Beeline archívumot, írja be a következő parancsokat:
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
Csomagolja ki az archívumot, írja be a következő parancsokat:
tar -xvzf hadoop-2.7.3.tar.gz tar -xvzf apache-hive-1.2.1-bin.tar.gz
Módosítsa tovább a bashrc-fájlt. Azonosítania kell az archívumok kicsomagolásának útvonalát. Ha a Linuxos Windows-alrendszer használja, és pontosan követte a lépéseket, az elérési út a felhasználónév.
/mnt/c/Users/user/
user
Nyissa meg a fájlt:
nano ~/.bashrc
Módosítsa az alábbi parancsokat a megfelelő elérési úttal, majd adja meg őket a bashrc fájl végén:
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
Ezután nyomja le a Ctrl+X, majd az Y billentyűkombinációt, majd írja be az enter billentyűt.
Zárja be, majd nyissa meg újra a bash-munkamenetet.
Tesztelje a kapcsolatot. Használja a fenti, nyilvános vagy privát végpontokon keresztüli kapcsolatformátumot.
Következő lépések
- Példák a Beeline-ügyfél Apache Hive-lel való használatára: Az Apache Beeline használata az Apache Hive-lel
- A HDInsight hive-jével kapcsolatos általános információkért lásd : Az Apache Hive használata az Apache Hadooptal a HDInsighton