HIVE Metastore-konfiguration med MYSQL

Anonim

Hvorfor bruge MySQL i Hive som Metastore:

  • Som standard kommer Hive med derby-database som metastore.
  • Derby-database kan kun understøtte en enkelt aktiv bruger ad gangen
  • Derby anbefales ikke i produktionsmiljøet

løsningen her er

  • Brug MYSQL som metalagring i backend for at forbinde flere brugere med Hive ad gangen
  • MYSQL er det bedste valg til den enkeltstående metastore

Trin til installation og konfiguration af MySQL-database i Hive på Hadoop

Trin 1) I dette trin skal vi udføre to opgaver

  1. Installation af mysql-server
  2. Kontrol af mysql-serveren og dens proces
  1. Ved hjælp af sudo apt-get install mysql-server kommando kan vi downloade mysql server

Installer MySQL som vist på skærmbilledet

  1. Efter vellykket installation i slutningen kører MySQL som vist i nedenstående skærmbillede

Trin 2) Installation af MySQL Java Connector. Dette er til Java-afhængigheder og forbindelsesformål

Trin 3) Oprettelse af softlink til stik i Hive lib-biblioteket . Dette er til softlink mellem Java og MySql.

Trin 4) Konfiguration af MySql-lagring i Hive

  • Skriv MySql -u root -p efterfulgt af adgangskode
  • Her repræsenterer -u root-brugernavn, p angiver adgangskode
  • Efter indtastning af ovenstående kommando skal brugeren indtaste gyldig adgangskode og derefter klikke på enter
  • Derefter går det ind i MySql shell-tilstand

Trin 5) Oprettelse af brugernavn og adgangskode til MySql og tildeling af privilegier.

Vi er nødt til at udføre kommandoerne som vist nedenfor,

mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword';mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword';mysql> flush privileges;

Trin 6) Konfiguration af hive-site.xml

  • Efter trin 5 tildel brugernavn og adgangskode til MySQL-databasen og givet privilegier.
  • Her konfigurerer vi nogle egenskaber i Hive for at få forbindelse til MySQL-database .

Fra ovenstående skærmbillede observerer vi følgende. Her definerer vi 4 egenskaber, der kan være nødvendige for at etablere MYSQL som Meta-butik i Hive

Disse er som følger:

  1. Denne egenskab er beregnet til forbindelses-URL-formål. Her definerer vi ConnectionURL i denne egenskab. Det fungerer som JDBC-forbindelse og dets repræsenterer også metastore-placering
  2. Denne egenskab er til navnet på forbindelsesdriveren. Her er mysql.jdbc.Driver den respekterede værdi, vi skal nævne i værdikoden
  3. Denne egenskab bruges til at definere forbindelsesbrugernavn. I dette definerede vi "hiveguru" som brugernavn
  4. Denne egenskab bruges til at nævne forbindelsesadgangskode. I dette definerede vi adgangskoden som brugeradgangskode.

Når egenskaberne er placeret i hive -site.xml, skal vi manuelt gemme (Ctrl + S) og lukke filen. Efter at have lukket denne fil skal vi oprette Hive-tabel og kontrollere tabeloplysningerne i MySQL-lagring.

Placer denne kode i hive-site.xml

hive-site.xml


javax.jdo.option.ConnectionURLjdbc:mysql://localhost/metastore?createDatabaseIfNotExist=truemetadata is stored in a MySQL server
javax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.DriverMySQL JDBC driver class
javax.jdo.option.ConnectionUserNamehiveuseruser name for connecting to mysql server
javax.jdo.option.ConnectionPasswordhivepasswordpassword for connecting to mysql server

Trin 7) Opret tabel "guru99" i Hive.

Fra ovenstående skærmbillede kan vi observere følgende

  • Oprettelse af tabelnavn "guru99" med to kolonnenavne
  • Kolonnenavnene nævnt med datatypen som en er heltal, og en anden er af strengtype

I det næste trin skal vi kontrollere, om det er gemt i MySql eller ej

Trin 8) Gå ind i MySql shell-tilstand

Fra ovenstående skærmbillede kan vi observere følgende

  • Først skal vi bruge databasen som "brug metastore"
  • Når det vælger meta-butik, kan vi kontrollere tabellerne i dette ved hjælp af kommandoen "Vis" tabeller som vist på skærmbilledet
  • Uanset hvilke tabeller der oprettes i Hive, svarer metadataene til, at tabellerne er gemt under TBLS i MySQL-databasen.
  • "Guur99-tabel" oprettes i Hive, så de tilsvarende metadata gemmes i MySQL under TBLS.

Trin 9) Kontroller, om oprettet tabel præsenterer MySQL eller ej

Ved at indtaste select * fra TBLS vil det vise de tabeller, som vi oprettede i Hive shell-tilstand

Fra ovenstående skærmbillede kan vi observere følgende ting:

  • Tabelnavn "guru99", der er oprettet er Hive, kan vises i MySQL-shell-tilstand
  • Udover dette vil det også give information som bordets oprettelsestid, adgangstid og andre egenskaber som vist i skærmbillede ovenfor.