Kuidas installida HIVE-d Ubuntu (Allalaadimis- ja häälestusjuhend)

⚡ Nutikas kokkuvõte

Apache Hive installitakse Ubuntu õhukese andmelao kihina juba töötava Hadoopi klastri kohal, seega on seadistamine enamasti ühe arhiivi lahtipakkimise ja kolme keskkonnamuutuja õigetesse kataloogidesse suunamise küsimus.

  • 🧱 Hadoop esimene: Iga Hadoopi deemon peab juba töötama, sest Hive salvestab oma tabelite andmed HDFS-i ja esitab oma tööd klastrile.
  • ⬇️ Allalaadimise allikas: Binaarversioonide väljalasked pärinevad Apache peegellehelt ja 3.x liin jõudis oma eluea lõppu 2024. aasta oktoobris.
  • 📁 Kaks konfiguratsioonifaili: HIVE_HOME kuulub faili bashrc ja HADOOP_HOME faili hive-config.sh faili Hive bin kataloogis.
  • 💾 HDFS-kaustad: Enne esimese tabeli loomist peavad lao- ja ajutise mälu kataloogid HDFS-is eksisteerima grupikirjutusõigusega.
  • 🧩 Skeemi samm: Schematool utiliit loob metasalvestustabelid ning Hive 3.x ja uuemad versioonid keelduvad initsialiseerimata skeemi korral käivitumast.
  • 🔨 Kiire kinnitus: „Create”-lause ja sellele järgnev „describe” tõestab, et kest, metasalvestus ja HDFS on kõik õigesti omavahel ühendatud.

Kuidas Hive'i installida Ubuntu

Enne Apache Hive'i installimist vajame spetsiaalset hadoop installimine, kõigi Hadoopi deemonitega töötamine.

Hadoopi installimiseks vaadake seda link.

Kui kõik Hadoopi deemonid töötavad korralikult, alustage lihtsalt Hive'i osa installimist. Allolev samm koosneb neljast etapist:

Apache Hive'i installiprotsess

  1. Eeltingimused ja versioonide ühilduvus
  2. Taru paigaldamine
  3. Metasalvestusskeemi initsialiseerimine
  4. Taru kesta käsud

Apache Hive'i installimise eeltingimused Ubuntu

Hive ei ole iseseisev andmebaas. See on päringukiht, mis teisendab HiveQL-i olemasoleval klastril töötavateks töödeks, seega peaaegu iga ebaõnnestunud installatsioon tractagasi puuduva eeltingimuse juurde, mitte Hive'i enda juurde. Enne allalaadimist veenduge järgmises:

  • Toetatud JDK. Hive 4.1.x töötab JDK 17 peal, samas kui Hive 4.2.x tõstab miinimumnõude JDK 21-ni. Kontrollige versiooni java -versioon ja veenduge, et JAVA_HOME oleks eksporditud.
  • Töötav Hadoopi klaster. Nii NameNode kui ka DataNode peavad olema aktiivsed. Käivita jps ja veenduge, et loendis kuvatakse kõik NameNode, DataNode, ResourceManager ja NodeManager.
  • Kirjutamisõigus HDFS-ile. Kontol, mis käivitab Hive'i, on vaja luba kataloogide loomiseks all HDFS.
  • Sobivad versioonid. Hive 4.2.0 on loodud Hadoop 3.4.1 ja Tez 0.10.5 baasil. Hive 3.x tootesari lõppes 2024. aasta oktoobris, seega peaks uus install olema suunatud 4.x tootesarjale.
  • Tasuta ressursid. Ühe sõlmega õppe seadistus on mugav umbes 4 GB muutmälu ja 20 GB vaba kettaruumiga.

Kui need kastid on märgitud, sujub allolev allalaadimise ja lahtipakkimise järjekord üllatusteta.

Kuidas Hive'i installida Ubuntu

Allpool on samm-sammuline protsess Hive'i installimiseks Ubuntu:

Samm 1) Laadige alla ja installige Hive sisse Ubuntu

Hive'i stabiilse seadistuse allalaadimiseks vaadake Apache URL nagu allpool mainitud.

https://www.apache.org/dyn/closer.cgi/hive/ — mine juurde URL ja valige Apache peegli allalaadimise link. Apache Hive'i allalaadimiste leht loetleb, millised väljalasked sobivad kokku millise Hadoopi versiooniga.

Peegelleht avaneb koos saadaolevate Hive'i väljalaskekataloogide loendiga, nagu allpool näidatud.

Apache peegelleht, kus on loetletud saadaolevad Apache Hive'i väljalaskekataloogid

Vali Hive'i seadistuse uusim versioon. (Minu praegusel juhul on see hive – 3.1.2.) Väljalaskekaust loetleb binaar- ja lähtekoodiarhiivid kõrvuti.

Hive'i väljalaskekaust, mis kuvab binaar- ja lähtekoodi levitamise arhiive

Klõpsake bin-failil ja allalaadimine algab.

Brauseri allalaadimise viip apache-hive bin tar.gz jaotusfaili jaoks

2. samm) Näidetract tar-fail

Mine allalaaditud tar-faili asukohta ja seejärel extract tar-faili, kasutades Hive'i installimiseks järgmist käsku Ubuntu oma süsteemis.

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

Terminal kajastab iga faili, kui see uude Hive'i kataloogi lahti pakitakse.

Terminali väljund, kui Hive'i tar-arhiiv on töökorrastracTed on Ubuntu

Samm 3) Asetage Apache Hive'i erinevad konfiguratsiooniatribuudid

Selles etapis teeme kahte asja:

  1. Hive'i kodutee paigutamine bashrc-faili
  2. Hadoopi kodutee asukoha paigutamine hive-config.sh faili

1) Maini Hive'i teed failis ~/.bashrc

Avage fail redigeerimiseks allpool näidatud käsuga.

Käsk, mis avab bashrc-faili Hive'i keskkonnamuutujate redigeerimiseks

  • Ava bashrc-fail, nagu on näidatud ülaltoodud ekraanipildil
  • Maini bashrc-failis Hive'i koduteed, st HIVE_HOME teed, ja eksporti see allpool näidatud viisil.

HIVE_HOME ja PATH ekspordiread lisatud bashrc-faili lõppu

Code paigutatakse bashrc-i:

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

Laadi fail uuesti käsuga allikas ~ / .bashrc seega jõustub uus tee praeguses terminaliseansis.

2) Hadoopi tee eksportimine faili hive-config.sh

Hadoopi ökosüsteemiga suhtlemiseks defineerime Hive'i konfiguratsioonifailis Hadoopi kodutee. Avage hive-config.sh, nagu allpool näidatud.

Käsk, mida kasutatakse hive-config.sh avamiseks Hive bin kataloogist

Mainige hive-config.sh failis HADOOP_HOME teed, nagu allpool näidatud.

HADOOP_HOME tee deklareeritakse failis hive-config.sh

Samm 4) Looge Hadoopis Hive kataloogid

Hadoopiga suhtlemiseks peame looma Hadoopis kataloogid, nagu allpool näidatud. Hive kirjutab hallatud tabelite andmed laokataloogi ja lavastusväljundi ajutise oleku kataloogi.

HDFS-käsud, mis loovad Hive'i ajutise faili ja lao kataloogid

Hadoopis Hive'i kaustade loomiseks juurõiguste andmine. Kui veateadet ei kuvata, tähendab see, et Hadoop on Hive'i kaustadele õigused edukalt andnud.

Terminal, mis kuvab HDFS-i Hive'i kaustadele antud grupikirjutusõigusi

5. samm) Sisenege Hive'i kesta

Taru kesta sisenemiseks sisesta '. /taru' käsk, nagu allpool näidatud.

Hive'i kesta viip avati Hive'i bin-kataloogist kuupäeval Ubuntu

Kuidas Hive'i metasalvestusskeemi initsialiseerida

Hive hoiab iga tabeli nime, veeru nime ja andmetüüpi relatsioonilises salves, mida nimetatakse metasalveks. Värske installi korral on see salv tühi ja alates Hive 3.x versioonist keeldub kest käivitumast enne, kui skeemitabelid on olemas. Need loob Hive'i bin-kataloogis olev schematool-utiliit.

Ühe kasutaja õppekeskkonna jaoks piisab komplekti kuuluvast Derby andmebaasist:

$HIVE_HOME/bin/schematool -dbType derby -initSchema

Käsk prindib loodud skeemi versiooni ja lõpeb skeemitööriist on valmisDerby kirjutab oma failid sellesse kataloogi, kust käsk käivitati, seega käivita Hive alati pärast seda samast kataloogist.

Derby aktsepteerib korraga ainult ühte aktiivset seanssi, mis muudab selle jagatud klastri jaoks sobimatuks. Point Hive aadressil MySQL selle asemel lisades ühenduse atribuudid faili hive-site.xml ja käivitades tööriista uuesti teistsuguse andmebaasitüübiga:

$HIVE_HOME/bin/schematool -dbType mysql -initSchema

Täielik omaduste loend ja draiveri paigutus on käsitletud juhendis, kuidas seda teha. seadista Hive'i metasalvestus koos MySQLTasub meeles pidada veel kahte lippu:

  • -info kuvab metasalvestuses hetkel salvestatud skeemi versiooni ilma midagi muutmata.
  • -uuendatudSkeem migreerib olemasoleva metasalvestuse äsja installitud Hive'i väljaande skeemiversioonile.

Kui skeem on paigas, on kest valmis oma esimest HiveQL-lauset vastu võtma.

Taru kesta käsud

Siin loome näidistabeli, kasutades Hive'i kesta käsku „create” ja veerunimesid.

Näidiskood andmebaasi loomiseks Hive'is. Allolev ekraanipilt näitab üksteise järel loomislauset ja describe'i väljundit.

Taru kesta väljund tabeli loomise ja tootekirjelduse käskude jaoks

Ülaltoodud ekraanipildilt näeme järgmist.

1) Näidistabeli loomine veerunimedega Hive'is

  • Siin on tabeli nimi "toode" kolme veeru nimega toode, pname ja hind
  • Kolme veeru nime tähistatakse nende vastava andmetüübiga.
  • Kõik väljad lõpetatakse komaga ', '

2) Taru tabeli teabe kuvamine

  • Käsu „kirjelda“ abil näeme Hive'is olevat tabeliteavet.
  • Siin kuvatakse veerunimed koos vastavate andmetüüpidega tabeli skeemis.
  • Lõpus kuvatakse käsu täitmiseks kulunud aeg ja laetud ridade arv.

Näidiskood andmebaasi loomiseks Mesilaspere (enesekontrolliks)

1) Loo tabel product(product int, pname string, price float)

Row format delimited
Fields terminated by ',';

2) kirjelda toodet;

Kui tabel vastab kirjeldusele, ühendatakse kest, metasalvestus ja HDFS. Sellest hetkest alates aktsepteerib sama seanss laiemat tabeli loomine, muutmine ja kustutamine avaldused ja järjestamine, rühmitamine ja klasterdamine päringud.

Levinud Hive'i installimisvead saidil Ubuntu ja kuidas neid parandada

Enamik esmakordseid tõrkeid tuleneb pigem Hive'i ümbritsevast keskkonnast kui Hive'ist endast. Allolev tabel seob kõige sagedamini ilmuvad teated nende põhjuse ja käsuga, mis need kustutab.

Sõnum ekraanil Tõenäoline põhjus Määrama
taru: käsku ei leitud HIVE_HOME/bin ei ole PATH-l Kontrolli uuesti ekspordiridu bashrc-is ja käivita seejärel allikas ~ / .bashrc
Metasalvestusest versiooniinfot ei leitud Metastore'i skeemi ei initsialiseeritud kunagi Käivita schematool valitud andmebaasitüübi jaoks käsuga -initSchema
Kõne localhost:9000-le nurjus ühenduse erandi tõttu HDFS ei tööta Käivitage Hadoopi deemonid ja veenduge, et NameNode ja DataNode kuvatakse. jps
Nimesõlm on turvarežiimis NameNode on endiselt käivitamise turvarežiimis. Välju turvarežiimist koos hdfs dfsadmin -safemode lahkumine
Luba keelatud: juurdepääs=KIRJUTA /user/hive/warehouse'ile Ladu kataloogil puudub grupi kirjutamisõigus Taotlege uuesti hdfs dfs -chmod g+w lao- ja ajutise mälu kataloogides
NoSuchMethodError funktsioonis Preconditions.checkArgument Hive ja Hadoop saadavad erinevaid Guava purgi versioone Kustuta Hive'i lib-kataloogist vanem Guava jar ja kopeeri Hadoopi oma selle asemele.

Kiire viis Hive'i probleemi Hadoopi probleemist eraldamiseks on käivitada jps esmalt. Kui deemonid puuduvad, on viga klaster; kui need on olemas ja kest ikkagi ebaõnnestub, on viga Hive'i konfiguratsioonis või metasalvestusskeemis. Kui kest on stabiilne, siis HiveQL operaatorid ja sisseehitatud funktsioonid viide on loomulik järgmine peatus.

KKK

Hallatud tabel annab Hivele nii metaandmete kui ka failide omamise õiguse, seega tuleks see ära jätta.ping see kustutab andmed laokataloogist. Väline tabel salvestab ainult metaandmed ja kustutabping see jätab alusfailid puutumata.

Taru töötab kõikjal, kus töötab JVM ja Hadoop, kuid shelli skriptid eeldavad Unixi paigutust. Windows enamik meeskondi kasutab WSL2 või Dockeri kujutist; macOS Sama tar-arhiiv töötab pärast JAVA_HOME ja HADOOP_HOME eksportimist.

Beeline on JDBC klient, mis loob ühenduse HiveServer2-ga, selle asemel et Hive'i kestaprotsessi sees laadida. See toetab samaaegseid kasutajaid ja autentimist ning vanem Hive'i käsurea liides on aegunud, seega peaksid uued installid Beeline'il standardiseeruma.

Kaasaegsed mootorid edastavad ajaloolisi päringustatistikat õpitud kulumudelitesse, mis ennustavad skannimise suurust, partitsioonide kärpimist ja liitumisjärjekorda. Pilveteenuse pakkujad pakuvad samu signaale automaatsete soovitustena failide tihendamise, partitsioonide paigutuse ja konteineri suuruse kohta.

Copilot koostab kiiresti bashrc ekspordi, hive-site.xml plokid ja schematool kutsumised ning agentide käivitajad saavad neid liivakastis käivitada. Väljundit käsitletakse esimese mustandina: versiooninumbrid, pordid ja kataloogiteed vajavad endiselt teie enda klastri suhtes kontrollimist.

Ligikaudu 4 GB muutmälu ja 20 GB vaba kettaruumi on õppimiseks mugav, kuna Hive ise on õhuke klient. Tootmissõlmede suurus on Hadoopi klastri ja metasalvestusandmebaasi, mitte Hive'i ümber.

Pakkige uus väljalase vana kõrvalt lahti, suunake HIVE_HOME ümber ja seejärel käivitage schematool valikuga -upgradeSchema, et metasalvestus sobiks. Eemaldamine on lihtsalt Hive'i kataloogi kustutamine ja stripimine.ping bashrc ekspordiread; HDFS-i lao andmed säilivad.

Ei. MapReduce on Hive'i täitmismootorina aegunud ja Hive 4.x töötab vaikimisi Apache Tezi peal. MapReduce mudelit tasub siiski mõista, sest Tez järgib sama suunatud töömudelit.

Võta see postitus kokku järgmiselt: