Hvordan installere og konfigurere HIVE Metastore med MYSQL
Hva er HIVE Metastore?
Hive metastore er et depot som lagrer metadata (kolonnenavn, datatyper, kommentarer osv.) relatert til Apache Hive ved hjelp av MySQL or PostgreSQL. Denne Hive metastore er implementert ved hjelp av tabeller i en relasjonsdatabase.
Hvorfor bruke MySQL i Hive som Metastore:
- Som standard kommer Hive med derbydatabase som metastore.
- Derby-databasen kan kun støtte én aktiv bruker om gangen
- Derby anbefales ikke i produksjonsmiljø
Så løsning her er
- Bruk MYSQL som metalagring i backend for å koble flere brukere til Hive om gangen
- MYSQL er det beste valget for den frittstående metastore
Hvordan installere og konfigurere Hive Metastore til MySQL Database
Trinn 1) Install MySQL Server
I dette trinnet skal vi utføre to oppgaver
- Installasjon av mysql-server
- Sjekker mysql-serveren og dens prosess
- Ved hjelp av sudo apt-get install mysql-server kommando, kan vi laste ned mysql server
Install MySQL som vist på skjermbildet
- Etter vellykket installasjon på slutten, MySQL vil kjøre som vist i skjermbildet nedenfor
Trinn 2) Install MySQL Java Connector
Installere MySQL Java Kobling. Dette er for Java-avhengigheter og tilkoblingsformål
Trinn 3) Lag myk kobling for kobling
Oppretter myk kobling for kobling i Hive lib-katalogen. Dette er for myk kobling mellom Java og MySql.
Trinn 4) Konfigurere MySql-lagring i Hive
- Skriv inn MySql –u root –p etterfulgt av passord
- Her representerer –u root brukernavn, p betyr passord
- Etter å ha skrevet inn kommandoen ovenfor, må brukeren skrive inn gyldig passord og deretter klikke enter
- Deretter vil den gå inn i MySql-skallmodus
Trinn 5) Lag brukernavn og passord
Opprette brukernavn og passord for MySql, gi privilegier.
Vi må utføre kommandoene som vist nedenfor,
mysql> CREATE USER 'hiveuser'@'%' IDENTIFIED BY 'hivepassword'; mysql> GRANT all on *.* to 'hiveuser'@localhost identified by 'hivepassword'; mysql> flush privileges;
Trinn 6) Konfigurerer hive-site.xml
- Etter trinn 5 tilordne brukernavn og passord til MySQL database og gitte privilegier.
- Her skal vi konfigurere noen eiendommer i Hive for å få forbindelse med MySQL database.
Fra skjermbildet ovenfor observerer vi følgende. Her definerer vi 4 egenskaper som kan være nødvendige for å etablere MYSQL som Meta-butikk i Hive
Disse er som følger:
- Denne egenskapen er for tilkoblings-URL-formål. Her definerer vi ConnectionURL i denne egenskapen. Den fungerer som JDBC-tilkobling og dens representerer metastore-plassering også
- Denne egenskapen er for tilkoblingsdrivernavn. Her er mysql.jdbc.Driver den respekterte verdien vi må nevne i verdikoden
- Denne egenskapen brukes til å definere tilkoblingsbrukernavn. I dette definerte vi "hiveguru" som brukernavn
- Denne egenskapen brukes til å nevne tilkoblingspassord. I denne definerte vi passord som brukerpassord.
Når egenskapene er plassert i hive –site.xml, må vi lagre manuelt (Ctrl+S) og lukke filen. Etter å ha lukket denne filen, må vi lage Hive-tabellen og sjekke tabelldetaljene MySQL Oppbevaring.
Plasser denne koden 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>
Trinn 7) Opprett tabell
Lag tabell "guru99" i Hive.
Fra skjermbildet ovenfor kan vi observere følgende
- Oppretting av tabellnavn "guru99" med to kolonnenavn
- Kolonnenavnene nevnt med sin datatype som en er heltall, og en annen er av strengtype
I neste trinn skal vi sjekke om det er lagret i MySql eller ikke
Trinn 8) Gå inn i MySql-skallmodus
Fra skjermbildet ovenfor kan vi observere følgende
- Først må vi bruke databasen som "bruk metastore"
- Når den velger metabutikk, kan vi sjekke tabellene som er tilstede i denne ved å bruke kommandoen "vis" tabeller som vist på skjermbildet
- Uansett hvilke tabeller som er opprettet i Hive, tilsvarer metadataene at tabellene er lagret under TBLS i MySQL database.
- "Guur99-tabell" er opprettet i Hive, så de tilsvarende metadataene lagres i MySQL under TBLS.
Trinn 9) Skriv inn velg * fra TBLS
Sjekker om opprettet tabell presenterer MySQL eller ikke
Ved å skrive inn select * fra TBLS, vil den vise tabellene vi opprettet i Hive-skallmodus
Fra skjermbildet ovenfor kan vi observere følgende ting:
- Tabellnavnet "guru99" som opprettet er Hive kan vises i MySQL skallmodus
- I tillegg til dette vil det også gi informasjon som tid for oppretting av tabeller, tidspunkt for tilgang og andre egenskaper som vist i skjermbildet ovenfor.