HIVE Metastore-konfiguration med MYSQL

Anonim

Varför använda MySQL i Hive som Metastore:

  • Som standard kommer Hive med derby-databas som metastore.
  • Derby-databasen kan endast stödja enstaka aktiva användare åt gången
  • Derby rekommenderas inte i produktionsmiljön

lösningen här är

  • Använd MYSQL som metalagring i backend för att ansluta flera användare med Hive åt gången
  • MYSQL är det bästa valet för fristående metastore

Steg för att installera och konfigurera MySQL-databasen i Hive på Hadoop

Steg 1) I det här steget ska vi utföra två uppgifter

  1. Installation av mysql-server
  2. Kontrollerar mysql-servern och dess process
  1. Med sudo apt-get install mysql-server-kommandot kan vi ladda ner mysql-servern

Installera MySQL som visas på skärmdumpen

  1. Efter framgångsrik installation i slutet kommer MySQL att köras som visas nedan

Steg 2) Installera MySQL Java Connector. Detta är för Java-beroenden och anslutningsändamål

Steg 3) Skapa mjuklänk för anslutning i Hive lib-katalogen . Detta är för mjuk länk mellan Java och MySql.

Steg 4) Konfigurera MySql-lagring i Hive

  • Skriv MySql -u root -p följt av lösenord
  • Här representerar -u root-användarnamn, p anger lösenord
  • Efter att ha angett ovanstående kommando måste användaren ange ett giltigt lösenord och sedan klicka på Enter
  • Då går det in i MySql-skalläge

Steg 5) Skapa användarnamn och lösenord för MySql, bevilja behörigheter.

Vi måste utföra kommandona enligt nedan,

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

Steg 6) Konfigurera hive-site.xml

  • Efter steg 5 tilldela användarnamn och lösenord till MySQL-databasen och givna behörigheter.
  • Här konfigurerar vi några egenskaper i Hive för att få en anslutning till MySQL-databasen .

Från ovanstående skärmdump observerar vi följande. Här definierar vi fyra egenskaper som kan vara nödvändiga för att etablera MYSQL som Meta-butik i Hive

Dessa är som följer:

  1. Den här egenskapen är avsedd för anslutnings-URL. Här definierar vi ConnectionURL i den här egenskapen. Det fungerar som JDBC-anslutning och dess representerar metastore plats också
  2. Den här egenskapen är för Connection-drivrutinsnamn. Här är mysql.jdbc.Driver det respekterade värdet vi måste nämna i värdetaggen
  3. Den här egenskapen används för att definiera anslutningsanvändarnamn. I detta definierade vi "hiveguru" som användarnamn
  4. Den här egenskapen används för att nämna anslutningslösenord. I detta definierade vi lösenord som användarlösenord.

När egenskaperna placeras i hive -site.xml måste vi spara manuellt (Ctrl + S) och stänga filen. Efter att ha stängt den här filen måste vi skapa Hive-tabellen och kontrollera tabellinformationen i MySQL-lagring.

Placera den här koden 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

Steg 7) Skapa tabellen "guru99" i Hive.

Från ovanstående skärmdump kan vi observera följande

  • Skapande av tabellnamn "guru99" med två kolumnnamn
  • Kolumnnamnen som nämns med dess datatyp som ett är heltal och ett annat är av strängtyp

I nästa steg ska vi kontrollera om den lagras i MySql eller inte

Steg 8) Gå in i MySql-skalläge

Från ovanstående skärmdump kan vi observera följande

  • Först måste vi använda databasen som "använd metastore"
  • När den väl väljer meta store kan vi kontrollera tabellerna i detta genom att använda kommandot "visa" tabeller som visas på skärmdumpen
  • Oavsett vilka tabeller som skapas i Hive, motsvarar metadata att tabeller lagras under TBLS i MySQL-databasen.
  • "Guur99-tabellen" skapas i Hive, så motsvarande metadata lagras i MySQL under TBLS.

Steg 9) Kontrollera om skapad tabell presenterar MySQL eller inte

Genom att ange select * från TBLS kommer det att visa tabellerna som vi skapade i Hive-skalläge

Från ovanstående skärmdump kan vi observera följande saker:

  • Tabellnamnet "guru99" som skapades är Hive kan visas i MySQL-skalläge
  • Förutom detta kommer det också att ge information som tid för att skapa bord, åtkomsttid och andra egenskaper som visas i skärmdumpen ovan.