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
- Instalace mysql-serveru
- Kontrola mysql-serveru a jeho procesu
- 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
- Po รบspฤลกnรฉ instalaci na konci, MySQL pobฤลพรญ tak, jak je znรกzornฤno na snรญmku obrazovky nรญลพe
Krok 2) instalovat MySQL Java konektor
Instalace MySQL Java Konektor. Toto je pro zรกvislosti na Javฤ a รบฤely pลipojenรญ
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.
Krok 4) Konfigurace รบloลพiลกtฤ MySql v Hive
- 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รญ.
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.
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รญ:
- 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
- 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
- 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
- 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.
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
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
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.








