Megosztás a következőn keresztül:


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 10001lé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 10001haszná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:

  1. Egy webböngészőben keresse meg https://CLUSTERNAME.azurehdinsight.net/#/main/services/HIVE/summaryCLUSTERNAME a fürt nevét. Győződjön meg arról, hogy a HiveServer2 fut.

  2. 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 443keresztü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.

  1. Csomaglisták frissítése. Adja meg a következő parancsot a bash-rendszerhéjban:

    sudo apt-get update
    
  2. Telepítse a Java-t, ha nincs telepítve. A parancsot which java ellenőrizheti.

    1. Ha nincs telepítve Java-csomag, írja be a következő parancsot:

      sudo apt install openjdk-11-jre-headless
      
    2. Nyissa meg a bashrc fájlt (gyakran megtalálható a ~/.bashrc fájlban): nano ~/.bashrc.

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

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

    1. Nyissa meg a fájlt: nano ~/.bashrc

    2. 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
      
    3. Ezután nyomja le a Ctrl+X, majd az Y billentyűkombinációt, majd írja be az enter billentyűt.

  6. Zárja be, majd nyissa meg újra a bash-munkamenetet.

  7. Tesztelje a kapcsolatot. Használja a fenti, nyilvános vagy privát végpontokon keresztüli kapcsolatformátumot.

Következő lépések