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
- „Mysql-server“ diegimas
- „Mysql-server“ ir jo proceso tikrinimas
- Naudodami komandą sudo apt-get install mysql-server galime atsisiųsti mysql serverį
Įdiekite „MySQL“, kaip parodyta ekrano kopijoje
- 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:
- Ši nuosavybė skirta prisijungimo URL tikslams. Čia mes apibrėžiame „ConnectionURL“ šioje ypatybėje. Jis veikia kaip JDBC ryšys ir reprezentuoja metastore vietą
- Ši savybė skirta ryšio tvarkyklės pavadinimui. Čia mysql.jdbc.Driver yra gerbiama vertė, kurią turime paminėti vertės žymoje
- Ši ypatybė naudojama apibrėžiant ryšio vartotojo vardą. Tuo mes apibrėžėme „hiveguru“ kaip vartotojo vardą
- Š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.ConnectionURL jdbc:mysql://localhost/metastore?createDatabaseIfNotExist=true metadata is stored in a MySQL server javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver MySQL JDBC driver class javax.jdo.option.ConnectionUserName hiveuser user name for connecting to mysql server javax.jdo.option.ConnectionPassword hivepassword password 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.