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ø
Så 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
- Installation af mysql-server
- Kontrol af mysql-serveren og dens proces
- Ved brug af sudo apt-get install mysql-server kommando, kan vi downloade mysql server
Installer MySQL som vist på skærmbilledet
- Efter vellykket installation til sidst, MySQL vil køre som vist i nedenstående skærmbillede
Trin 2) Installer MySQL Java Stik
Installation MySQL Java Stik. Dette er til java-afhængigheder og forbindelsesformål
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.
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 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.
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.
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:
- 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å
- Denne egenskab er for forbindelsesdrivernavnet. Her er mysql.jdbc.Driver den respekterede værdi, vi skal nævne i værdimærket
- Denne egenskab bruges til at definere forbindelsesbrugernavn. I dette definerede vi "hiveguru" som brugernavn
- 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.
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
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
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.