Kaip įdiegti ir konfigūruoti avilį su dideliu prieinamumu – 7 dalis


Hive yra duomenų saugyklos modelis Hadoop ekologinėje sistemoje. Jis gali veikti kaip ETL įrankis kartu su Hadoop. Aukšto prieinamumo (HA) įgalinimas „Hive“ nėra panašus į pagrindines paslaugas, pvz., „Namenode“ ir „Resource Manager“.

Hive (Hiveserver2) automatinis perkėlimas neįvyks. Jei kuris nors Hiveserver2 (HS2) sugenda, užduotys, vykdomos toje nepavykusioje HS2, bus nesėkmingos. Turime iš naujo pateikti užduotį, kad užduotį būtų galima vykdyti kitame HiveServer2. Taigi HA įgalinimas HS2 yra ne kas kita, kaip HS2 komponentų skaičiaus padidinimas klasteryje.

Šiame straipsnyje pamatysime, kaip įdiegti ir įjungti Hive didelį prieinamumą.

Reikalavimai

  • Geriausia „Hadoop“ serverio diegimo „CentOS/RHEL 7“ praktika – 1 dalis
  • „Hadoop“ išankstinių sąlygų nustatymas ir saugumo stiprinimas – 2 dalis
  • Kaip įdiegti ir konfigūruoti „Cloudera Manager“ „CentOS/RHEL 7“ – 3 dalis
  • Kaip įdiegti CDH ir konfigūruoti paslaugų vietas CentOS/RHEL 7 – 4 dalis
  • Kaip nustatyti aukštą Namenode prieinamumą – 5 dalis
  • Kaip nustatyti aukštą išteklių tvarkyklės prieinamumą – 6 dalis

Pradėkime…

Avilio įrengimas ir konfigūravimas

1. Prisijunkite prie Cloudera Manager toliau nurodytu URL ir eikite į Cloudera Manager –> Pridėti paslaugą .

http://13.233.129.39:7180/cmf/home

2. Pasirinkite paslaugą „Avilys“.

3. Priskirkite paslaugas mazguose.

  • Šliuzai – tai klientų paslauga, kuria vartotojas gali pasiekti avilį. Paprastai ši paslauga bus dedama į Edge mazgus, skirtus vartotojams.
  • Hive Metastore – tai centrinė „Hive“ metaduomenų saugykla.
  • WebHCat serveris – tai žiniatinklio API, skirta „HCatalog“ ir kitoms „Hadoop“ paslaugoms.
  • Hiveserver2 – tai klientų sąsaja, skirta užklausoms vykdyti Hive.

Pasirinkę serverius spustelėkite Tęsti, kad tęstumėte.

4. „Hive Metastore“ reikalinga pagrindinė duomenų bazė metaduomenims saugoti. Čia naudojame numatytąją PostgreSQL duomenų bazę, kuri yra integruota su CDH.

Toliau nurodyta duomenų bazės informacija bus įvesta automatiškai, o „Tikrinti ryšį“ bus praleista, nes minėta duomenų bazė bus sukurta skrydžio metu. Realiuoju laiku turime sukurti duomenų bazę išorinėje duomenų bazėje ir išbandyti ryšį, kad galėtume tęsti. Baigę spustelėkite Tęsti.

5. Sukonfigūruokite katalogą Hive Warehouse, /user/hive/warehouse yra numatytasis katalogo kelias, skirtas Hive lentelėms saugoti. Spustelėkite Tęsti.

6. Pradedamas „Hive“ diegimas.

7. Įdiegę galėsite gauti būseną Baigta. Jei norite tęsti, spustelėkite Tęsti.

8. Avilio diegimas ir konfigūracija sėkmingai baigti. Spustelėkite Baigti, kad užbaigtumėte diegimo procedūrą.

9. Galite matyti paslaugą Hive, pridėtą prie Cluster per Cloudera Manager informacijos suvestinę.

10. Hiveserver2 galite peržiūrėti Avilio skiltyje Egzemplioriai. Prie master1 pridėjome Hiveserver2.

Cloudera Manager –> Hive –> Egzemplioriai –> Hiveserver2.

Aukšto prieinamumo įgalinimas „Hive“.

11. Tada pridėkite „Hive“ vaidmenį apsilankę Cloudera Manager –> Hive –> Actions –> Pridėti vaidmenų atvejus.

12. Pasirinkite serverius, kuriuose norite įdėti papildomą Hiveserver2. Galite pridėti daugiau nei du, apribojimų nėra. Prie master2 pridedame papildomą Hiveserver2.

13. Pasirinkę serverį spustelėkite Tęsti.

14. Hiverserver2 bus pridėtas prie Hive Instances, turite jį paleisti apsilankę Cloudera Manager. –> Avilys –> Pavyzdžiai –> (Pasirinkite Hiveserver2, pridėtas naujai) –> Veiksmas pasirinktam –> Pradėti.

15. Paleidus Hiveserver2 master2, gausite būseną Baigta. Spustelėkite Uždaryti.

16. Galite peržiūrėti, veikia abu Hiveserver2.

Avilio prieinamumo patikrinimas

Galime prijungti Hiveserver2 per beeline, kuri yra plonas klientas, ir komandų eilutę. Ryšiui užmegzti naudojama JDBC tvarkyklė.

17. Prisijunkite prie serverio, kuriame veikia Hive Gateway.

[tecmint@master1 ~]$ beeline

18. Įveskite JDBC ryšio eilutę, kad prijungtumėte Hiveserver2. Šiuo atžvilgiu eilutė minime Hiverserver2 (master2) su numatytuoju prievado numeriu 10 000. Ši ryšio eilutė prisijungs tik prie Hiveserver2, kuris veikia master2.

beeline> !connect "jdbc:hive2://master1.linux-console.net:10000"

19. Vykdykite pavyzdinę užklausą.

0: jdbc:hive2://master1.linux-console.net:10000> show databases;

Tai yra numatytoji duomenų bazė, kuri yra integruota.

20. Norėdami nutraukti „Hive“ seansą, naudokite toliau pateiktą komandą.

0: jdbc:hive2://master1.linux-console.net:10000> !quit

21. Taip pat galite prisijungti prie Hiveserver2, veikiančio master2.

beeline> !connect "jdbc:hive2://master2.linux-console.net:10000"

23. Galime prijungti Hiveserver2 režimu Zookeeper Discovery. Taikant šį metodą, ryšio eilutėje nereikia minėti Hiveserver2, o mes naudojame Zookeeper, kad surastume galimą Hiveserver2.

Čia galime naudoti trečiosios šalies apkrovos balansavimo priemonę, kad subalansuotume apkrovą tarp turimų Hiverserver2. Toliau pateiktą konfigūraciją reikia įgalinti Zookeeper Discovery Mode, apsilankę Cloudera Manager –> Hive –> Configuration.

24. Tada ieškokite ypatybės „HiveServer2 Advanced Configuration Snippet“ ir spustelėkite simbolį +, kad pridėtumėte toliau pateiktą ypatybę.

Name : hive.server2.support.dynamic.service.discovery
Value : true
Description : <any description>

25. Įvedę nuosavybę spustelėkite Išsaugoti pakeitimus.

26. Kadangi atlikome konfigūracijos pakeitimus, reikia iš naujo paleisti paveiktas paslaugas spustelėjus oranžinės spalvos simbolį, kad iš naujo paleistumėte paslaugas.

27. Spustelėkite Iš naujo paleisti pasenusias paslaugas.

28. Galimos dvi parinktys. Jei klasteris yra tiesiogiai gaminamas, turime teikti pirmenybę nuolatiniam paleidimui iš naujo, kad sumažintume gedimų skaičių. Naujai diegdami galime pasirinkti antrąją parinktį Iš naujo įdiegti kliento konfigūraciją ir spustelėti Paleisti iš naujo dabar.

29. Sėkmingai paleidus iš naujo, gausite būseną Baigta. Spustelėkite Baigti, kad užbaigtumėte procesą.

30. Dabar sujungsime Hiveserver2 naudodami Zookeeper Discovery režimą. Esant JDBC ryšiui, eilutė, kurios mums reikia, kad galėtume naudoti Zookeeper serverius, kurių prievado numeris 2081. Surinkite „Zookeeper“ serverius apsilankę Cloudera Manager –> Zookeeper –> Instances –> (Užsirašykite serverių pavadinimus).

Tai yra trys serveriai, turintys „Zookeeper“, 2181 yra prievado numeris.

master1.linux-console.net:2181
master2.linux-console.net:2181
worker1.linux-console.net:2181

31. Dabar eikite į beeline.

[tecmint@master1 ~]$ beeline

32. Įveskite JDBC ryšio eilutę, kaip nurodyta toliau. Turime paminėti Paslaugų aptikimo režimą ir Zookeeper vardų erdvę. „hiveserver2“ yra numatytoji Hiveserver2 vardų sritis.

beeline>!connect "jdbc:hive2://master1.linux-console.net:2181,master2.linux-console.net:2181,worker1.linux-console.net:2181/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2"

33. Dabar seansas prijungtas prie Hiveserver2, veikiančio master1. Paleiskite pavyzdinę užklausą, kad patvirtintumėte. Norėdami sukurti duomenų bazę, naudokite toliau pateiktą komandą.

0: jdbc:hive2://master1.linux-console.net:2181,mast> create database tecmint;

34. Norėdami pateikti duomenų bazės sąrašą, naudokite toliau pateiktą komandą.

0: jdbc:hive2://master1.linux-console.net:2181,mast> show databases;

35. Dabar patvirtinsime aukštą pasiekiamumą Zookeeper Discovery režimu. Eikite į Cloudera Manager ir sustabdykite Hiveserver2 master1, kurį išbandėme aukščiau.

Cloudera Manager –> Hive –> Excels –> (pasirinkite Hiveserver2 master1 ) –> Veiksmas pasirinktam –> Sustabdyti.

36. Spustelėkite Sustabdyti. Sustabdę būseną gausite Baigta. Patvirtinkite Hiveserver2 master1 naršydami į Hive –> Excels.

37. Įeikite į beeline ir prijunkite Hiveserver2 naudodami tą pačią JDBC ryšio eilutę su Zookeeper Discovery Režimaskaip darėme atlikdami aukščiau nurodytus veiksmus.

[tecmint@master1 ~]$ beeline

beeline>!connect "jdbc:hive2://master1.linux-console.net:2181,master2.linux-console.net:2181,worker1.linux-console.net:2181/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2"

Dabar būsite prisijungę prie Hiveserver2, veikiančio master2.

38. Patvirtinkite naudodami pavyzdinę užklausą.

0: jdbc:hive2://master1.linux-console.net:2181,mast> show databases;

Išvada

Šiame straipsnyje atlikome išsamius veiksmus, kad Hive Data Warehouse modelis būtų mūsų klasteryje su dideliu prieinamumu. Gamybos aplinkoje realiuoju laiku daugiau nei trys Hiveserver2 bus įtraukti su įjungtu Zookeeper Discovery režimu.

Čia visi Hiveserver2 registruojasi Zookeeper naudodami bendrą Vardų erdvę. Zookeeper dinamiškai atranda galimą Hiveserver2 ir nustato Hive seansą.