HIVE Metastore-configuratie met MYSQL

Anonim

Waarom MySQL in Hive als metastore gebruiken:

  • Standaard wordt Hive geleverd met een derby-database als metastore.
  • De Derby-database kan slechts één actieve gebruiker tegelijk ondersteunen
  • Derby wordt niet aanbevolen in een productieomgeving

Dus de oplossing is hier

  • Gebruik MYSQL als meta-opslag in de backend om meerdere gebruikers tegelijk met Hive te verbinden
  • MYSQL is de beste keuze voor de zelfstandige metastore

Stappen voor het installeren en configureren van MySQL-database in Hive op Hadoop

Stap 1) In deze stap gaan we twee taken uitvoeren

  1. Installatie van mysql-server
  2. Controle van de mysql-server en zijn proces
  1. Met het sudo apt-get install mysql-server commando kunnen we mysql server downloaden

Installeer MySQL zoals weergegeven in de schermafbeelding

  1. Na een succesvolle installatie aan het einde, wordt MySQL uitgevoerd zoals weergegeven in onderstaande schermafbeelding

Stap 2) MySQL Java Connector installeren. Dit is voor Java-afhankelijkheden en verbindingsdoeleinden

Stap 3) Creëren van een zachte link voor connector in de map Hive lib . Dit is voor een zachte koppeling tussen Java en MySql.

Stap 4) MySql-opslag configureren in Hive

  • Typ MySql -u root -p gevolgd door wachtwoord
  • Hier staat -u voor root-gebruikersnaam, p staat voor wachtwoord
  • Na het invoeren van de bovenstaande opdracht, moet de gebruiker een geldig wachtwoord invoeren en vervolgens op Enter klikken
  • Daarna gaat het naar de MySql-shell-modus

Stap 5) Gebruikersnaam en wachtwoord aanmaken voor MySql, privileges toekennen.

We moeten de opdrachten uitvoeren zoals hieronder weergegeven,

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

Stap 6) Hive-site.xml configureren

  • Wijs na stap 5 een gebruikersnaam en wachtwoord toe aan de MySQL-database en geef rechten.
  • Hier zullen we enkele eigenschappen in Hive configureren om een ​​verbinding te krijgen met de MySQL-database .

Uit de bovenstaande schermafbeelding zien we het volgende. Hier definiëren we 4 eigenschappen die nodig zouden kunnen zijn om MYSQL als meta-winkel in Hive te vestigen

Dit zijn de volgende:

  1. Deze eigenschap is bedoeld voor het doel van de verbindings-URL. Hier definiëren we ConnectionURL in deze eigenschap. Het fungeert ook als JDBC-verbinding en de representatieve metastorelocatie
  2. Deze eigenschap is voor de naam van het verbindingsstuurprogramma. Hier is mysql.jdbc.Driver de gerespecteerde waarde die we moeten vermelden in de waardetag
  3. Deze eigenschap wordt gebruikt om de gebruikersnaam van de verbinding te definiëren. Hierin hebben we "hiveguru" gedefinieerd als gebruikersnaam
  4. Deze eigenschap wordt gebruikt om het verbindingswachtwoord te vermelden. Hierin hebben we wachtwoord gedefinieerd als gebruikerswachtwoord.

Zodra de eigenschappen in hive -site.xml zijn geplaatst, moeten we het bestand handmatig opslaan (Ctrl + S) en sluiten. Na het sluiten van dit bestand, moeten we een Hive-tabel maken en de tabeldetails in MySQL-opslag controleren.

Plaats deze code in 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

Step7) Maak een tabel "guru99" in Hive.

Uit de bovenstaande schermafbeelding kunnen we het volgende zien

  • Creëren van tabelnaam "guru99" met twee kolomnamen
  • De kolomnamen worden vermeld met het gegevenstype, aangezien de ene een geheel getal is en de andere een stringtype is

In de volgende stap gaan we controleren of het is opgeslagen in MySql of niet

Stap 8) Het betreden van de MySql-shell-modus

Uit de bovenstaande schermafbeelding kunnen we het volgende zien

  • Eerst moeten we de database gebruiken als "gebruik metastore"
  • Zodra het de meta-winkel kiest, kunnen we de hierin aanwezige tabellen controleren door het commando "show" tables te gebruiken, zoals weergegeven in de schermafbeelding
  • Ongeacht de tabellen die in Hive worden gemaakt, de metagegevens komen overeen met de tabellen die zijn opgeslagen onder TBLS in de MySQL-database.
  • "Guur99 table" wordt gemaakt in Hive, dus de bijbehorende metadata worden opgeslagen in MySQL onder TBLS.

Stap 9) Controleren of de gemaakte tabel MySQL weergeeft of niet

Door select * from TBLS in te voeren, worden de tabellen weergegeven die we in de Hive-shell-modus hebben gemaakt

Uit de bovenstaande schermafbeelding kunnen we de volgende dingen zien:

  • De tabelnaam "guru99" die is gemaakt, is de Hive en kan worden weergegeven in de MySQL-shell-modus
  • Daarnaast biedt het ook informatie zoals het aanmaken van een tabel, de toegangstijd en andere eigenschappen, zoals weergegeven in de bovenstaande schermafbeelding.