Konfigurácia HIVE Metastore s MYSQL

Anonim

Prečo používať MySQL v Hive ako Metastore:

  • V predvolenom nastavení je Úľ dodávaný s databázou derby ako metastore.
  • Databáza Derby môže podporovať iba jedného aktívneho používateľa naraz
  • Derby sa v produkčnom prostredí neodporúča

Takže riešením je tu

  • Použite MYSQL ako Meta úložisko na backende na pripojenie viacerých používateľov pomocou Hive súčasne
  • MYSQL je najlepšou voľbou pre samostatný metastore

Kroky na inštaláciu a konfiguráciu databázy MySQL v úli na serveri Hadoop

Krok 1) V tomto kroku vykonáme dve úlohy

  1. Inštalácia mysql-servera
  2. Kontrola mysql-servera a jeho procesu
  1. Pomocou príkazu sudo apt-get install mysql-server si môžeme stiahnuť server mysql

Nainštalujte MySQL podľa obrázka

  1. Po úspešnej inštalácii na konci bude MySQL bežať tak, ako je to znázornené na nasledujúcom obrázku

Krok 2) Inštalácia MySQL Java Connector. Toto je pre java závislosti a účel pripojenia

Krok 3) Vytvorenie mäkkého odkazu pre konektor v adresári Hive lib . Toto slúži na mäkké prepojenie medzi programami Java a MySql.

Krok 4) Konfigurácia úložiska MySql v úli

  • Zadajte príkaz MySql -u root -p a potom heslo
  • Tu -u predstavuje užívateľské meno root, p označuje heslo
  • Po zadaní vyššie uvedeného príkazu musí používateľ zadať platné heslo a potom kliknúť na kláves Enter
  • Potom prejde do režimu shellu MySql

Krok 5) Vytvorenie používateľského mena a hesla pre MySql, udelenie privilégií.

Musíme vykonať príkazy, ako je uvedené nižšie,

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

Krok 6) Konfigurácia súboru hive-site.xml

  • Po kroku 5 priraďte používateľské meno a heslo k databáze MySQL a dané oprávnenia.
  • Tu nakonfigurujeme niektoré vlastnosti v Hive, aby sme získali spojenie s databázou MySQL .

Z vyššie uvedeného screenshotu sledujeme nasledovné. Tu definujeme 4 vlastnosti, ktoré by mohli byť potrebné na založenie MYSQL ako Meta obchodu v Hive

Sú to tieto:

  1. Táto vlastnosť slúži na účely adresy URL pripojenia. Tu v tejto vlastnosti definujeme ConnectionURL. Funguje ako spojenie JDBC a tiež predstavuje miesto metastázy
  2. Táto vlastnosť je určená pre názov ovládača pripojenia. Tu je mysql.jdbc.Driver rešpektovaná hodnota, ktorú musíme spomenúť v značke hodnoty
  3. Táto vlastnosť sa používa na definovanie mena používateľa pripojenia. V tomto sme definovali „hiveguru“ ako meno používateľa
  4. Táto vlastnosť sa používala na uvedenie hesla pripojenia. V tomto sme definovali heslo ako heslo používateľa.

Keď sú vlastnosti umiestnené v úli -site.xml, musíme ich manuálne uložiť (Ctrl + S) a zavrieť súbor. Po zatvorení tohto súboru musíme vytvoriť tabuľku Hive a skontrolovať podrobnosti tabuľky v úložisku MySQL.

Tento kód umiestnite do súboru 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

Krok 7) Vytvorte tabuľku „guru99“ v úli.

Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce

  • Vytvorenie názvu tabuľky „guru99“ s dvoma názvami stĺpcov
  • Názvy stĺpcov, ktorých údajový typ je uvedený ako jeden, je celé číslo a druhý je reťazcového typu

V ďalšom kroku ideme skontrolovať, či je uložený v MySql alebo nie

Krok 8) Vstup do režimu shellu MySql

Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce

  • Najprv musíme použiť databázu ako „použiť metastore“
  • Len čo si vyberie metaobchod, môžeme skontrolovať tabuľky, ktoré sa v ňom nachádzajú, pomocou príkazu „zobraziť“ tabuľky, ako je to znázornené na snímke obrazovky
  • Bez ohľadu na tabuľky, ktoré sú vytvorené v úli, metaúdaje zodpovedajú týmto tabuľkám, ktoré sú uložené v databáze TBLS v databáze MySQL.
  • „Tabuľka Guur99“ je vytvorená v úli, takže príslušné metadáta sú uložené v MySQL pod TBLS.

Krok 9) Kontrola, či vytvorená tabuľka predstavuje MySQL alebo nie

Po zadaní príkazu select * z TBLS sa zobrazia tabuľky, ktoré sme vytvorili v režime shellu Hive

Z vyššie uvedeného screenshotu môžeme sledovať nasledujúce veci:

  • Názov tabuľky „guru99“, ktorá bola vytvorená, je Hive, je možné zobraziť v režime MySQL shell
  • Okrem toho bude tiež poskytovať informácie, ako je čas vytvorenia tabuľky, čas prístupu a ďalšie vlastnosti, ako je to znázornené na snímke obrazovky vyššie.