Jak nainstalovat a nakonfigurovat HIVE Metastore s MYSQL

Co je HIVE Metastore?

Hive metastore je รบloลพiลกtฤ›, kterรฉ uklรกdรก metadata (nรกzvy sloupcลฏ, datovรฉ typy, komentรกล™e atd.) souvisejรญcรญ s Apache Hive pomocรญ MySQL or PostgreSQL. Toto metaรบloลพiลกtฤ› Hive je implementovรกno pomocรญ tabulek v relaฤnรญ databรกzi.

Proฤ pouลพรญvat MySQL v Hive as Metastore:

  • Ve vรฝchozรญm nastavenรญ pล™ichรกzรญ Hive s databรกzรญ derby jako metastore.
  • Databรกze Derby mลฏลพe souฤasnฤ› podporovat pouze jednoho aktivnรญho uลพivatele
  • Derby se nedoporuฤuje v produkฤnรญm prostล™edรญ

Takลพe ล™eลกenรญ tady je

  • Pouลพijte MYSQL jako รบloลพiลกtฤ› Meta na backendu pro pล™ipojenรญ vรญce uลพivatelลฏ k Hive najednou
  • MYSQL je nejlepลกรญ volbou pro samostatnรฉ metaรบloลพiลกtฤ›

Jak nainstalovat a nakonfigurovat Hive Metastore MySQL Databรกze

Krok 1) instalovat MySQL Server
V tomto kroku provedeme dva รบkoly

  1. Instalace mysql-serveru
  2. Kontrola mysql-serveru a jeho procesu
  1. Pouลพitรญ pล™รญkaz sudo apt-get install mysql-server, mลฏลพeme si stรกhnout mysql server

instalovat MySQL jak je znรกzornฤ›no na snรญmku obrazovky

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

  1. Po รบspฤ›ลกnรฉ instalaci na konci, MySQL pobฤ›ลพรญ tak, jak je znรกzornฤ›no na snรญmku obrazovky nรญลพe

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Krok 2) instalovat MySQL Java konektor
Instalace MySQL Java Konektor. Toto je pro zรกvislosti na Javฤ› a รบฤely pล™ipojenรญ

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Krok 3) Vytvoล™te mฤ›kkรฝ odkaz pro konektor
Vytvoล™enรญ mฤ›kkรฉho odkazu pro konektor v adresรกล™i Hive lib. Toto je pro mฤ›kkรฉ propojenรญ Java a MySql.

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Krok 4) Konfigurace รบloลพiลกtฤ› MySql v Hive

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

  • Zadejte MySql โ€“u root โ€“p nรกsledovanรฉ heslem
  • Zde โ€“u pล™edstavuje uลพivatelskรฉ jmรฉno root , p oznaฤuje heslo
  • Po zadรกnรญ vรฝลกe uvedenรฉho pล™รญkazu musรญ uลพivatel zadat platnรฉ heslo a potรฉ kliknout na enter
  • Potรฉ vstoupรญ do reลพimu shellu MySql

Krok 5) Vytvoล™te uลพivatelskรฉ jmรฉno a heslo
Vytvoล™enรญ uลพivatelskรฉho jmรฉna a hesla pro MySql, udฤ›lenรญ oprรกvnฤ›nรญ.

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Musรญme provรฉst pล™รญkazy, jak je uvedeno nรญลพe,

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

Krok 6) Konfigurace hive-site.xml

  • Po kroku 5 pล™iล™aฤte uลพivatelskรฉ jmรฉno a heslo MySQL databรกze a udฤ›lenรก oprรกvnฤ›nรญ.
  • Zde nakonfigurujeme nฤ›kterรฉ vlastnosti v Hive, se kterรฝmi zรญskรกme spojenรญ MySQL databรกze.

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Z vรฝลกe uvedenรฉho snรญmku obrazovky vidรญme nรกsledujรญcรญ. Zde definujeme 4 vlastnosti, kterรฉ by mohly bรฝt nezbytnรฉ pro vytvoล™enรญ MYSQL jako รบloลพiลกtฤ› Meta รšl

Jednรก se o nรกsledujรญcรญ:

  1. Tato vlastnost je pro รบฤely adresy URL pล™ipojenรญ. Zde definujeme ConnectionURL v tรฉto vlastnosti. Funguje jako pล™ipojenรญ JDBC a jeho reprezentujรญcรญ umรญstฤ›nรญ metastore
  2. Tato vlastnost je pro nรกzev ovladaฤe pล™ipojenรญ. Zde je mysql.jdbc.Driver respektovanou hodnotou, kterou musรญme zmรญnit ve znaฤce value
  3. Tato vlastnost se pouลพรญvรก pro definovรกnรญ uลพivatelskรฉho jmรฉna pล™ipojenรญ. V tomto jsme definovali โ€žhiveguruโ€œ jako uลพivatelskรฉ jmรฉno
  4. Tato vlastnost se pouลพรญvรก pro uvedenรญ hesla pล™ipojenรญ. V tomto jsme definovali heslo jako uลพivatelskรฉ heslo.

Jakmile jsou vlastnosti umรญstฤ›ny do hive โ€“site.xml, musรญme soubor ruฤnฤ› uloลพit (Ctrl+S) a zavล™รญt. Po zavล™enรญ tohoto souboru musรญme vytvoล™it tabulku Hive a zkontrolovat podrobnosti tabulky MySQL รบloลพnรฝ prostor.

Umรญstฤ›te tento kรณd do souboru 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>

Krok 7) Vytvoล™te tabulku
Vytvoล™te tabulku โ€žguru99โ€œ v Hive.

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Z vรฝลกe uvedenรฉho snรญmku obrazovky mลฏลพeme pozorovat nรกsledujรญcรญ

  • Vytvoล™enรญ nรกzvu tabulky โ€œguru99โ€ณ se dvฤ›ma nรกzvy sloupcลฏ
  • Nรกzvy sloupcลฏ uvedenรฉ s jejich datovรฝm typem jako jeden je celoฤรญselnรฝ a druhรฝ je ล™etฤ›zcovรฉho typu

V dalลกรญm kroku zkontrolujeme, zda je uloลพen v MySql nebo ne

Krok 8) Vstupte do reลพimu shellu MySql

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Z vรฝลกe uvedenรฉho snรญmku obrazovky mลฏลพeme pozorovat nรกsledujรญcรญ

  • Nejprve musรญme pouลพรญt databรกzi jako โ€žpouลพรญt metastoreโ€œ
  • Jakmile si vybere meta store, mลฏลพeme zkontrolovat tabulky pล™รญtomnรฉ v tomto pomocรญ pล™รญkazu โ€žshowโ€œ tables, jak je znรกzornฤ›no na snรญmku obrazovky
  • Bez ohledu na tabulky, kterรฉ jsou vytvoล™eny v Hive, metadata odpovรญdajรญ tomu, ลพe tabulky jsou uloลพeny pod TBLS v MySQL databรกze.
  • โ€žTabulka Guur99โ€œ je vytvoล™ena v Hive, takลพe jsou uloลพena odpovรญdajรญcรญ metadata MySQL pod TBLS.

Krok 9) Zadejte vรฝbฤ›r * z TBLS
Kontrola, zda se vytvoล™enรก tabulka prezentuje MySQL nebo ne

Nainstalujte a nakonfigurujte Hive Metastore na MySQL Databรกze

Zadรกnรญm select * z TBLS se zobrazรญ tabulky, kterรฉ jsme vytvoล™ili v reลพimu Hive shell

Z vรฝลกe uvedenรฉho snรญmku obrazovky mลฏลพeme pozorovat nรกsledujรญcรญ vฤ›ci:

  • Nรกzev tabulky โ€žguru99โ€œ, kterรก byla vytvoล™ena, je รšl, ve kterรฉm lze zobrazit MySQL shellovรฝ reลพim
  • Kromฤ› toho takรฉ poskytne informace, jako je ฤas vytvoล™enรญ tabulky, ฤas pล™รญstupu a dalลกรญ vlastnosti, jak je znรกzornฤ›no na snรญmku obrazovky vรฝลกe.

Shrลˆte tento pล™รญspฤ›vek takto: