Sådan installeres og konfigureres HIVE Metastore med MYSQL

Hvad er HIVE Metastore?

Hive metastore er et lager, der gemmer metadata (kolonnenavne, datatyper, kommentarer osv.) relateret til Apache Hive ved hjælp af MySQL or PostgreSQL. Denne Hive-metastore er implementeret ved hjælp af tabeller i en relationsdatabase.

Hvorfor bruge MySQL i Hive som Metastore:

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

løsninger her er

  • Brug MYSQL som Meta-lagring i backend for at forbinde flere brugere med Hive ad gangen
  • MYSQL er Bedste valg til den selvstændige metastore

Sådan installeres og konfigureres Hive Metastore til MySQL Database

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

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

Installer MySQL som vist på skærmbilledet

Installer og konfigurer Hive Metastore til MySQL Database

  1. Efter vellykket installation til sidst, MySQL vil køre som vist i nedenstående skærmbillede

Installer og konfigurer Hive Metastore til MySQL Database

Trin 2) Installer MySQL Java Stik
Installation MySQL Java Stik. Dette er til java-afhængigheder og forbindelsesformål

Installer og konfigurer Hive Metastore til MySQL Database

Trin 3) Opret blødt link til stik
Oprettelse af blødt link til stik i Hive lib-biblioteket. Dette er for blød kobling mellem Java og MySql.

Installer og konfigurer Hive Metastore til MySQL Database

Trin 4) Konfiguration af MySql-lagring i Hive

Installer og konfigurer Hive Metastore til MySQL Database

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

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

Installer og konfigurer Hive Metastore til MySQL Database

Vi skal 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 database og givet privilegier.
  • Her vil vi konfigurere nogle ejendomme i Hive for at få forbindelse med MySQL databasen.

Installer og konfigurer Hive Metastore til MySQL Database

Installer og konfigurer Hive Metastore til MySQL Database

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

Disse er som følger:

  1. Denne ejendom er til formålet med forbindelses-URL. Her definerer vi ConnectionURL i denne ejendom. Det fungerer som JDBC-forbindelse og dets repræsenterende metastore-placering også
  2. Denne egenskab er for forbindelsesdrivernavnet. Her er mysql.jdbc.Driver den respekterede værdi, vi skal nævne i værdimærket
  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 denne definerede vi adgangskode 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 tjekke tabeldetaljerne ind MySQL opbevaring.

Placer denne kode i hive-site.xml

hive-site.xml

<configuration>
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true</value>
		<description>metadata is stored in a MySQL server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
		<description>MySQL JDBC driver class</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>hiveuser</value>
		<description>user name for connecting to mysql server</description>
	</property>
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>hivepassword</value>
		<description>password for connecting to mysql server</description>
	</property>
</configuration>

Trin 7) Opret tabel
Opret tabel "guru99" i Hive.

Installer og konfigurer Hive Metastore til MySQL Database

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

  • Oprettelse af tabelnavn "guru99" med to kolonnenavne
  • Kolonnenavnene nævnt med dens datatype 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

Installer og konfigurer Hive Metastore til MySQL Database

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

  • Først skal vi bruge databasen som "brug metastore"
  • Når den først vælger metabutik, kan vi kontrollere tabellerne i denne ved at bruge kommandoen "vis" tabeller som vist på skærmbilledet
  • Uanset hvilke tabeller der oprettes i Hive, svarer metadataene til at tabeller er gemt under TBLS i MySQL databasen.
  • "Guur99 table" oprettes i Hive, så de tilsvarende metadata gemmes i MySQL under TBLS.

Trin 9) Indtast vælg * fra TBLS
Kontrollerer, om oprettet tabel præsenterer MySQL eller ikke

Installer og konfigurer Hive Metastore til MySQL Database

Ved at indtaste vælg * fra TBLS, vil den vise de tabeller, vi oprettede i Hive shell-tilstand

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

  • Tabelnavnet "guru99", der oprettede, er Hive, kan vises i MySQL skaltilstand
  • Udover dette vil det også give oplysninger som tabeloprettelsestidspunkt, adgangstidspunkt og andre egenskaber som vist på skærmbilledet ovenfor.