Kuinka asentaa HIVE Ubuntu (Lataus- ja asennusopas)

⚡ Älykäs yhteenveto

Apache Hive asennetaan Ubuntu ohuena tietovarastokerroksena jo käynnissä olevan Hadoop-klusterin yläpuolella, joten asennus on enimmäkseen yhden arkiston purkamista ja kolmen ympäristömuuttujan osoittamista oikeisiin hakemistoihin.

  • 🧱 Hadoop ensin: Jokaisen Hadoop-daemonin on oltava jo käynnissä, koska Hive tallentaa taulukkodatansa HDFS:ään ja lähettää työnsä klusterille.
  • ⬇️ Latauslähde: Binäärijulkaisut tulevat Apachen peilisivulta, ja 3.x-linja saavutti elinkaarensa lopun lokakuussa 2024.
  • 📁 Kaksi asetustiedostoa: HIVE_HOME kuuluu bashrc-hakemistoon ja HADOOP_HOME hive-config.sh-tiedostoon Hive bin -hakemistoon.
  • 💾 HDFS-kansiot: Varasto- ja tmp-hakemistojen on oltava HDFS:ssä ryhmäkirjoitusoikeuksilla ennen ensimmäisen taulukon luomista.
  • 🧩 Kaaviovaihe: Schematool-apuohjelma luo metastore-taulukot, eivätkä Hive 3.x ja uudemmat versiot suostu käynnistymään alustamatonta kaavaa vastaan.
  • 🔨 Varmista nopeasti: Luontilauseke ja sitä seuraava describe-lauseke todistavat, että shell, metastore ja HDFS ovat kaikki kytkettyinä toisiinsa oikein.

Hiven asentaminen Ubuntu

Ennen Apache Hiven asennusta tarvitsemme erillisen Hadoop asennus on valmis ja käynnissä kaikkien Hadoop-daemonien kanssa.

Hadoopin asennusta varten tarkista tämä linkkiä.

Kun kaikki Hadoop-taustaprosessit toimivat oikein, aloita Hive-osan asennus. Alla oleva ohje etenee neljässä vaiheessa:

Apache Hiven asennusprosessi

  1. Edellytykset ja versioiden yhteensopivuus
  2. Hiven asennus
  3. Metastore-skeeman alustus
  4. Hive shell komennot

Apache Hiven asentamisen edellytykset Ubuntu

Hive ei ole erillinen tietokanta. Se on kyselykerros, joka muuntaa HiveQL:n olemassa olevassa klusterissa suoritettaviksi töiksi, joten lähes jokainen epäonnistunut asennus tracpalauttaa puuttuvaan edellytykseen eikä itse Hiveen. Vahvista seuraavat asiat ennen minkään lataamista:

  • Tuettu JDK. Hive 4.1.x toimii JDK 17:llä, kun taas Hive 4.2.x nostaa vähimmäisvaatimuksen JDK 21:een. Tarkista versio kohdasta java -versio ja varmista, että JAVA_HOME on viety.
  • Käynnissä oleva Hadoop-klusteri. Sekä NameNode- että DataNode-solmujen on oltava aktiivisia. Suorita jps ja varmista, että NameNode, DataNode, ResourceManager ja NodeManager näkyvät kaikki luettelossa.
  • Kirjoitusoikeudet HDFS:ään. Hiven käynnistävällä tilillä on oltava oikeus luoda hakemistoja alla HDFS.
  • Yhteensopivat versiot. Hive 4.2.0 on rakennettu Hadoop 3.4.1:n ja Tez 0.10.5:n pohjalta. Hive 3.x -linjan elinkaari päättyi lokakuussa 2024, joten uuden asennuksen tulisi kohdistua 4.x-linjaan.
  • Ilmaisia ​​resursseja. Yhden solmun oppimisympäristö on kätevä, ja siinä on noin 4 Gt RAM-muistia ja 20 Gt vapaata levytilaa.

Kun nuo ruudut on valittu, alla oleva lataus- ja purkamisjärjestys sujuu ilman yllätyksiä.

Hiven asentaminen Ubuntu

Alla on vaiheittainen prosessi Hiven asentamiseen Ubuntu:

Vaihe 1) Lataa ja asenna Hive päälle Ubuntu

Hive-vakaan asennuksen lataamiseksi katso Apache URL kuten alla mainitaan.

https://www.apache.org/dyn/closer.cgi/hive/ — mene kohtaan URL ja valitse Apache-peilin latauslinkki. Apache Hiven lataussivu listaa, mitkä julkaisuversiot sopivat yhteen minkäkin Hadoop-version kanssa.

Peilisivu avautuu ja näyttää luettelon käytettävissä olevista Hive-julkaisuhakemistoista, kuten alla on esitetty.

Apachen peilisivu, jossa luetellaan käytettävissä olevat Apache Hiven julkaisuhakemistot

Valitse Hive-asennuksen uusin versio. (Minun tapauksessani se on hive – 3.1.2.) Julkaisukansiossa luetellaan binääri- ja lähdekoodiarkistot rinnakkain.

Hiven julkaisukansio, joka näyttää binääri- ja lähdekoodijakeluarkistot

Napsauta bin-tiedostoa ja lataus alkaa.

Apache-hive bin tar.gz -jakelutiedoston latauskehote selaimessa

Vaihe 2) Esim.tractar-tiedosto

Siirry ladatun tar-tiedoston sijaintiin ja sitten extract tar-tiedostoa seuraavalla komennolla asentaaksesi Hiven Ubuntu järjestelmässäsi.

tar -xvf  apache-hive-3.1.2-bin.tar.gz

Pääte toistaa jokaisen tiedoston, kun se puretaan uuteen Hive-hakemistoon.

Päätelaitteen tuloste, kun Hive-tar-arkisto on ex-tilassatracTed päällä Ubuntu

Vaihe 3) Aseta erilaiset määritysominaisuudet Apache Hiveen

Tässä vaiheessa teemme kaksi asiaa:

  1. Hive-kotisivun polun sijoittaminen bashrc-tiedostoon
  2. Hadoopin kotipolun sijainnin sijoittaminen hive-config.sh-tiedostoon

1) Mainitse Hive-polku tiedostossa ~/.bashrc

Avaa tiedosto muokattavaksi alla olevalla komennolla.

Komento, joka avaa bashrc-tiedoston Hive-ympäristömuuttujien muokkaamista varten

  • Avaa bashrc-tiedosto yllä olevan kuvakaappauksen mukaisesti
  • Mainitse Hive-kotihakemiston polku, eli HIVE_HOME-polku, bashrc-tiedostossa ja vie se alla olevan kuvan mukaisesti.

HIVE_HOME- ja PATH-vientirivit lisätty bashrc-tiedoston loppuun

Code sijoitettava bashrciin:

export HIVE_HOME="/home/guru99hive/apache-hive-1.2.0-bin"
export PATH=$PATH:$HIVE_HOME/bin

Lataa tiedosto uudelleen käyttämällä lähde ~ / .bashrc joten uusi polku tulee voimaan nykyisessä pääteistunnossa.

2) Hadoop-polun vienti hive-config.sh-tiedostoon

Kommunikoidaksemme Hadoop-ekosysteemin kanssa määrittelemme Hadoopin kotipolun Hive-määritystiedostossa. Avaa hive-config.sh alla olevan kuvan mukaisesti.

Komento, jota käytetään hive-config.sh-tiedoston avaamiseen Hive bin -hakemistosta

Mainitse HADOOP_HOME-polku hive-config.sh-tiedostossa alla olevan kuvan mukaisesti.

HADOOP_HOME-polku, joka on ilmoitettu hive-config.sh-tiedostossa

Vaihe 4) Luo Hive-hakemistoja Hadoopissa

Kommunikoidaksemme Hadoopin kanssa meidän on luotava hakemistoja Hadoopissa alla olevan kuvan mukaisesti. Hive kirjoittaa hallittujen taulukoiden tiedot varastohakemistoon ja valmistelutulosteen tmp-hakemistoon.

HDFS-komennot, jotka luovat Hive-tmp- ja varastohakemistot

Annetaan pääkäyttäjän oikeudet Hive-kansioiden luomiseen Hadoopissa. Jos virheilmoitusta ei tule, Hadoop on myöntänyt Hive-kansioiden käyttöoikeudet onnistuneesti.

Pääte, joka näyttää HDFS:n Hive-kansioille myönnetyt ryhmäkirjoitusoikeudet

Vaihe 5) Siirry Hive-kuoreen

Pääset Hive-kuoreen syöttämällä '. /pesä' komento alla olevan kuvan mukaisesti.

Hive-komentotulkkikehote avattiin Hive bin -hakemistosta Ubuntu

Hive-metatallennusrakenteen alustaminen

Hive säilyttää jokaisen taulukon nimen, sarakkeen nimen ja tietotyypin relaatiosäilössä, jota kutsutaan metastore-nimiseksi. Uudessa asennuksessa tämä säilö on tyhjä, ja Hive 3.x:stä alkaen komentotulkki kieltäytyy käynnistymästä, ennen kuin skeemataulukot ovat olemassa. Hive bin -hakemistossa toimitettava schematool-apuohjelma luo ne.

Yhden käyttäjän oppimisympäristöön riittää Derbyn mukana tuleva tietokanta:

$HIVE_HOME/bin/schematool -dbType derby -initSchema

Komento tulostaa luomansa skeemaversion ja päättyy tekstiin schemaTool valmisDerby kirjoittaa tiedostonsa siihen hakemistoon, josta komento suoritettiin, joten käynnistä Hive aina samasta hakemistosta jälkikäteen.

Derby hyväksyy vain yhden aktiivisen istunnon kerrallaan, mikä tekee siitä sopimattoman jaetulle klusterille. Point Hive osoitteessa MySQL sen sijaan lisäämällä yhteysominaisuudet hive-site.xml-tiedostoon ja suorittamalla työkalun uudelleen eri tietokantatyypillä:

$HIVE_HOME/bin/schematool -dbType mysql -initSchema

Täydellinen ominaisuusluettelo ja ajurin sijoittelu on käsitelty oppaassa, jossa kerrotaan, miten Määritä Hive-metastore seuraavasti: MySQLKaksi muuta lippua on syytä muistaa:

  • -tiedot raportoi metastoreen tallennetun skeemaversion muuttamatta mitään.
  • -päivityskaavio siirtää olemassa olevan metastoren uuden Hive-julkaisun kaavaversioon.

Kun skeema on paikallaan, komentotulkki on valmis hyväksymään ensimmäisen HiveQL-lausekkeensa.

Hive shell komennot

Tässä luomme esimerkkitaulukon Hive-komennolla “create” ja sarakenimillä.

Esimerkkikoodia tietokannan luomiseen Hivessä. Alla oleva kuvakaappaus näyttää create-lausekkeen ja describe-tulosteen peräkkäin.

Hive-komennon tuloste create table -taulukolle ja describe product -komennoille

Yllä olevasta kuvakaappauksesta voimme havaita seuraavaa:

1) Sarakkeiden nimillä varustetun esimerkkitaulukon luominen Hivessä

  • Tässä taulukon nimi on "tuote", jossa on kolme sarakkeen nimeä tuote, pname ja hinta
  • Kolmen sarakkeen nimet on merkitty niiden vastaavalla tietotyypillä
  • Kaikki kentät päättyvät pilkkuun ', '

2) Hive-taulukon tietojen näyttäminen

  • Käyttämällä komentoa ”describe” voimme nähdä Hivessä olevat taulukon tiedot.
  • Tässä näytetään sarakenimet ja niiden vastaavat tietotyypit taulukkokaaviossa.
  • Lopuksi se näyttää komennon suorittamiseen kuluneen ajan ja noudettujen rivien määrän.

Esimerkkikoodi tietokannan luomiseksi Hive (itsetarkistusta varten)

1) Luo taulukko tuote(tuote kokonaisluku, pnimi merkkijono, hinta float)

Row format delimited
Fields terminated by ',';

2) kuvaile tuotetta;

Kun taulukko vastaa describe-käskyyn, shell, metastore ja HDFS kytketään yhteen. Tästä eteenpäin sama istunto hyväksyy laajemman luo, muuta ja poista taulukko lausunnot ja järjestyksessä, ryhmittele ja klusteroi kyselyitä.

Yleisiä Hive-asennusvirheitä Ubuntu ja kuinka korjata ne

Useimmat ensimmäisen käynnistyksen virheet johtuvat Hiveä ympäröivästä ympäristöstä eivätkä itse Hivestä. Alla oleva taulukko yhdistää useimmin esiintyvät viestit niiden syyhyn ja komentoon, joka poistaa ne.

Viesti näytöllä Todennäköinen syy Korjata
pesä: komentoa ei löytynyt HIVE_HOME/bin ei ole polulla Tarkista bashrc:n vientirivit uudelleen ja suorita sitten lähde ~ / .bashrc
Versiotietoja ei löytynyt metastoresta Metastore-skeemaa ei koskaan alustettu Suorita schematool valitsemalla -initSchema valitulle tietokantatyypille.
Kutsu localhost:9000:een epäonnistui yhteyspoikkeuksen vuoksi HDFS ei ole käynnissä Käynnistä Hadoop-taustaprosessit ja varmista, että NameNode ja DataNode näkyvät jps
Nimisolmu on vikasietotilassa NameNode on edelleen käynnistyksen vikasietotilassa. Poistu vikasietotilasta käyttämällä hdfs dfsadmin -safemode poistu
Käyttöoikeus evätty: access=WRITE tiedostoon /user/hive/warehouse Varastohakemistolta puuttuu ryhmäkirjoitusoikeus Hae uudelleen hdfs dfs -chmod g+w varasto- ja tmp-hakemistoissa
NoSuchMethodError kohdassa Preconditions.checkArgument Hive ja Hadoop toimittavat erilaisia ​​Guava-purkkiversioita Poista vanhempi Guava-purkki Hive-kirjastohakemistosta ja kopioi Hadoop-purkki sen tilalle.

Nopea tapa erottaa Hive-ongelma Hadoop-ongelmasta on suorittaa jps ensin. Jos daemonit puuttuvat, vika on klusterissa; jos ne ovat läsnä ja komentotulkki epäonnistuu silti, vika on Hive-kokoonpanossa tai metastore-skeemassa. Kun komentotulkki on vakaa, HiveQL-operaattorit ja sisäänrakennetut funktiot viittaus on luonnollinen seuraava pysäkki.

UKK

Hallittu taulukko antaa Hivelle sekä metadatan että tiedostojen omistusoikeuden, joten pudotaping se poistaa tiedot varastohakemistosta. Ulkoinen taulukko tallentaa vain metatiedot ja pudottaaping se jättää taustalla olevat tiedostot koskemattomiksi.

Hive toimii missä tahansa, missä JVM ja Hadoop toimivat, mutta komentosarjat olettavat Unix-asettelun. Windows useimmat tiimit käyttävät WSL2:ta tai Docker-kuvaa; macOS Sama tar-arkisto toimii, kun JAVA_HOME ja HADOOP_HOME on viety.

Beeline on JDBC-asiakasohjelma, joka muodostaa yhteyden HiveServer2:een sen sijaan, että lataa Hiven komentotulkin sisällä. Se tukee samanaikaisia ​​käyttäjiä ja todennusta, ja vanhempi Hive-käyttöliittymä on vanhentunut, joten uusien asennusten tulisi olla standardoituja Beeline-käyttöjärjestelmälle.

Nykyaikaiset hakukoneet syöttävät historiallisia kyselytilastoja opittuihin kustannusmalleihin, jotka ennustavat skannauskokoja, osioiden karsimista ja liittymisjärjestystä. Pilvipalveluntarjoajat paljastavat samat signaalit automaattisina suosituksina tiedostojen pakkaamiselle, osioiden asettelulle ja säilön koolle.

Copilot luonnostelee bashrc-viennit, hive-site.xml-lohkot ja schematool-kutsut nopeasti, ja agenttien suorittajat voivat suorittaa ne hiekkalaatikossa. Tulostetta käsitellään ensimmäisenä luonnoksena: versionumerot, portit ja hakemistopolut on vielä tarkistettava omaa klusteriasi vasten.

Noin 4 Gt RAM-muistia ja 20 Gt vapaata levytilaa on sopiva määrä oppimiseen, koska Hive itsessään on ohut asiakas. Tuotantosolmut kooltaan Hadoop-klusterin ja metastore-tietokannan ympärille Hiven sijaan.

Pura uusi julkaisu vanhan vierestä, aseta HIVE_HOME uudelleen ja suorita sitten schematool valitsimella -upgradeSchema, jotta metastore täsmää. Poistaminen on yksinkertaisesti Hive-hakemiston poistamista ja strippaamista.ping bashrcin vientirivit; HDFS-varastotiedot säilyvät.

Ei. MapReduce on vanhentunut Hive-suoritusmoottorina ja Hive 4.x toimii oletusarvoisesti Apache Tezissä. MapReduce malli on silti ymmärtämisen arvoinen, koska Tez noudattaa samaa ohjattua työmallia.

Tiivistä tämä viesti seuraavasti: