„HIVE Metastore“ konfigūracija naudojant MYSQL

Anonim

Kodėl verta naudoti „MySQL“ avilyje kaip „Metastore“:

  • Pagal numatytuosius nustatymus „Hive“ yra derbio duomenų bazė kaip metastore.
  • Derbio duomenų bazė vienu metu gali palaikyti tik vieną aktyvų vartotoją
  • Derby nerekomenduojama gamybos aplinkoje

Taigi sprendimas čia yra

  • Naudokite „MYSQL“ kaip „Meta“ saugyklą „backend“, kad vienu metu su „Hive“ sujungtumėte kelis vartotojus
  • „MYSQL“ yra geriausias pasirinkimas atskiram metastandarui

Veiksmai, kaip įdiegti ir konfigūruoti „MySQL“ duomenų bazę „Hive Hadoop“

1 žingsnis) Šiame žingsnyje atliksime dvi užduotis

  1. „Mysql-server“ diegimas
  2. „Mysql-server“ ir jo proceso tikrinimas
  1. Naudodami komandą sudo apt-get install mysql-server galime atsisiųsti mysql serverį

Įdiekite „MySQL“, kaip parodyta ekrano kopijoje

  1. Po sėkmingo diegimo, „MySQL“ veiks, kaip parodyta žemiau esančiame ekrano vaizde

2 žingsnis) Įdiekite „MySQL Java Connector“. Tai skirta „Java“ priklausomybėms ir ryšio tikslams

3 žingsnis) Sukurkite minkštą jungtį „Hive lib“ kataloge . Tai skirta minkštajam „Java“ ir „MySql“ ryšiui.

4 žingsnis) „ MySQL“ saugyklos konfigūravimas „Hive“

  • Įveskite MySql -u root -p ir slaptažodį
  • Čia -u reiškia šakninį vartotojo vardą, p - slaptažodį
  • Įvedęs aukščiau nurodytą komandą, vartotojas turi įvesti galiojantį slaptažodį ir tada spustelėkite „Enter“
  • Tada jis pereis į „MySql“ apvalkalo režimą

5 žingsnis) Sukurkite „MySql“ vartotojo vardą ir slaptažodį, suteikdami privilegijas.

Turime vykdyti komandas, kaip parodyta žemiau,

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

6 veiksmas) „ Hive-site.xml“ konfigūravimas

  • Po 5 žingsnio priskirkite vartotojo vardą ir slaptažodį „MySQL“ duomenų bazei ir suteikite privilegijas.
  • Čia sukonfigūruosime kai kurias „Hive“ ypatybes, kad gautume ryšį su „MySQL“ duomenų baze .

Iš pirmiau pateikto ekrano mes stebime šiuos dalykus. Čia mes apibrėžiame 4 ypatybes, kurių gali prireikti norint sukurti MYSQL kaip „Meta“ parduotuvę avilyje

Tai yra šie:

  1. Ši nuosavybė skirta prisijungimo URL tikslams. Čia mes apibrėžiame „ConnectionURL“ šioje ypatybėje. Jis veikia kaip JDBC ryšys ir reprezentuoja metastore vietą
  2. Ši savybė skirta ryšio tvarkyklės pavadinimui. Čia mysql.jdbc.Driver yra gerbiama vertė, kurią turime paminėti vertės žymoje
  3. Ši ypatybė naudojama apibrėžiant ryšio vartotojo vardą. Tuo mes apibrėžėme „hiveguru“ kaip vartotojo vardą
  4. Ši nuosavybė buvo naudojama prisijungimo slaptažodžiui paminėti. Tai mes apibrėžėme slaptažodį kaip vartotojo slaptažodį.

Kai ypatybės įdėtos į avilį -site.xml, turime rankiniu būdu išsaugoti (Ctrl + S) ir uždaryti failą. Uždarę šį failą, turime sukurti „Hive“ lentelę ir patikrinti lentelės informaciją „MySQL“ saugykloje.

Įdėkite šį kodą į avilį-site.xml

avilys-svetainė.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

7 žingsnis) Sukurkite avilyje lentelę „guru99“.

Iš pirmiau pateiktos ekrano kopijos galime stebėti šiuos dalykus

  • Lentelės pavadinimo „guru99“ su dviem stulpelių pavadinimais sukūrimas
  • Stulpelių pavadinimai, kurių duomenų tipas minimas kaip vienas, yra sveikasis skaičius, o kitas - eilutės tipo

Kitame etape patikrinsime, ar jis saugomas „MySql“, ar ne

8 žingsnis) Įėjimas į „MySql“ apvalkalo režimą

Iš pirmiau pateiktos ekrano kopijos galime stebėti šiuos dalykus

  • Pirmiausia turime naudoti duomenų bazę kaip „naudoti metastore“
  • Pasirinkę meta parduotuvę, mes galime patikrinti joje esančias lenteles naudodami komandą „rodyti“ lenteles, kaip parodyta ekrano kopijoje
  • Nepriklausomai nuo „Hive“ sukurtų lentelių, metaduomenys atitinka tuos, kurie yra saugomi „MySQL“ duomenų bazėje TBLS.
  • „Guur99 lentelė“ sukurta „Hive“, todėl atitinkami metaduomenys yra saugomi MySQL pagal TBLS.

9 žingsnis) Patikrinkite, ar sukurta lentelė pateikia „MySQL“, ar ne

Įvedus select * iš TBLS, bus rodomos lentelės, kurias sukūrėme „Hive“ apvalkalo režimu

Iš pirmiau pateiktos ekrano kopijos galime stebėti šiuos dalykus:

  • Lentelės pavadinimas „guru99“, sukurtas aviliu, gali būti rodomas MySQL apvalkalo režimu
  • Be to, ji taip pat pateiks informaciją, pvz., Lentelės kūrimo laiką, pasiekiamą laiką ir kitas savybes, kaip parodyta aukščiau pateiktame ekrano vaizde.