Kuidas taru suure kättesaadavusega installida ja konfigureerida - 7. osa


Hive on andmelao mudel Hadoop Eco-Systemis. See võib toimida Hadoopi peal ETL-i tööriistana. Kõrge kättesaadavuse (HA) lubamine tarus pole sarnane nagu meisterteenustes nagu Resource Manager.

Automaatset tõrkeotsingut tarus ei toimu (Hiveserver2). Kui mõni Hiveserver2 (HS2) ebaõnnestub, ebaõnnestub tööde käivitamine sellel ebaõnnestunud HS2-l. Peame töö uuesti esitama, et tööd saaks kasutada ka HiveServer2-ga. Niisiis pole HA lubamine HS2-l muud kui HS2 komponentide arvu suurendamine klastris.

Selles artiklis näeme taru kõrge kättesaadavuse installimise ja lubamise samme.

  • Hadoop Serveri juurutamise parimad tavad CentOS/RHEL 7-le - 1. osa
  • Hadoopi eeltingimuste seadistamine ja turvalisuse karastamine - 2. osa
  • Kuidas Cloudera Manageri installida ja konfigureerida CentOS/RHEL 7-s - 3. osa
  • Kuidas installida CDH ja seadistada teenusepaigutusi CentOS/RHEL 7-le - 4. osa
  • Kuidas seadistada Namenode'i kõrge kättesaadavus - 5. osa
  • Kuidas seadistada ressursihalduri kõrget kättesaadavust - 6. osa

Alustame…

Taru paigaldamine ja seadistamine

1. Logige sisse Cloudera Managerisse alloleval URL-il ja navigeerige lehele Cloudera Manager -> Add Service.

http://13.233.129.39:7180/cmf/home

2. Valige teenus 'taru'.

3. Määrake teenused sõlmedes.

  • Gateway - see on klienditeenus, kus kasutaja saab tarule juurde pääseda. Tavaliselt paigutatakse see teenus kasutajatele pühendatud Edge'i sõlmedesse.
  • Tarude metapood - see on tarude metaandmete keskne hoidla.
  • WebHCat Server - see on veebi API HCatalogi ja muude Hadoop Servicesi jaoks.
  • Hiveserver2 - see on klientide liides Hive'is päringute täitmiseks.

Kui olete serverid valinud, klõpsake jätkamiseks nuppu Jätka.

4. Tarude metapood vajab metaandmete salvestamiseks aluseks olevat andmebaasi. Siin kasutame vaikimisi PostgreSQL andmebaasi, mis on sisseehitatud CDH-ga.

Allpool nimetatud andmebaasi üksikasjad sisestatakse automaatselt, "Test Connection" jäetakse vahele, kuna nimetatud andmebaas luuakse käigu pealt. Reaalajas peame looma välise andmebaasi andmebaasi ja testima ühendust, et jätkata. Kui olete valmis, klõpsake nuppu Jätka.

5. Konfigureerige Hive Warehouse kataloog,/user/hive/ladu on Hive'i tabelite vaikimisi kataloogitee. Klõpsake nuppu Jätka.

6. Alustatakse taru installimist.

7. Kui installimine on lõpule jõudnud, saate staatuse ‘Valmis’. Jätkamiseks klõpsake nuppu Jätka.

8. Taru installimine ja seadistamine on edukalt lõpule viidud. Installiprotseduuri lõpuleviimiseks klõpsake nuppu 'Finish'.

9. Näete taru teenust, mis on klastrisse lisatud Cloudera Manageri juhtpaneeli kaudu.

10. Hiveserverit2 saate vaadata rakendusest Taru. Oleme lisanud Hiveserver2 master1-sse.

Cloudera Manager -> taru -> eksemplarid -> mesindusserver2.

Kõrge kättesaadavuse võimaldamine tarus

11. Järgmisena lisage Hive'i roll, minnes Cloudera Manager -> Hive -> Actions -> Add Role Instances.

12. Valige serverid, kuhu soovite lisada Hiveserver2. Saate lisada rohkem kui kaks, piirangut pole. Siia lisame master2-sse veel ühe Hiveserver2.

13. Kui server on valitud, klõpsake nuppu Jätka.

14. Tarude eksemplaridesse lisatakse Hiverserver2, peate selle käivitama, külastades Cloudera Manager -> Hive -> Instances -> (Valige Hiveserver2 lisatud äsja) -> Action for Selected -> Start.

15. Kui Hiveserver2 on master2-s alustanud, saate staatuse ‘Valmis’. Klõpsake nuppu Sule.

16. Saate vaadata, mõlemad Hiveserver2 töötavad.

Taru saadavuse kontrollimine

Me saame ühendada Hiveserveri2 beeline'i kaudu, mis on õhuke klient ja käsurida. Ühenduse loomiseks kasutab see JDBC draiverit.

17. Logige sisse serverisse, kus töötab Hive Gateway.

[[email  ~]$ beeline

18. Hiveserveri2 ühendamiseks sisestage JDBC-ühenduse string. Sellega seoses mainime stringi Hiverserver2 (master2) selle vaikepordi numbriga 10000. See ühendusstring ühendub ainult selle Hiveserver2-ga, mis töötab master2-l.

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

19. Käivitage näidispäring.

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

See on vaikimisi sisseehitatud andmebaas.

20. Kasutage allpool olevat käsku taru seansi lõpetamiseks.

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

21. Samamoodi saate ühendada master2-s töötava Hiveserver2.

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

23. Saame Hiveserveri2 ühendada Zookeeperi avastamise režiimis. Selles meetodis ei pea me ühendustringis mainima Hiveserver2, selle asemel et olemasoleva Hiveserver2 avastamiseks kasutame Zookeeperit.

Siin saame kasutada saadaoleva Hiverserver2 koormuse tasakaalustamiseks kolmanda osapoole koormuse tasakaalustajat. Allpool toodud konfiguratsioon on vajalik Zookeeperi avastamisrežiimi lubamiseks, avades Cloudera Manager -> Hive -> Configuration.

24. Järgmisena otsige atribuudilt „HiveServer2 Advanced Configuration Snippet” ja klõpsake alloleva atribuudi lisamiseks sümbolil + .

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

25. Kui olete atribuudi sisestanud, klõpsake nuppu „Salvesta muudatused”.

26. Konfiguratsiooni muudatuste tegemisel peate mõjutatud teenused taaskäivitama, klõpsates teenuste taaskäivitamiseks oranži värvi sümbolil.

27. Klõpsake „Restart Stale” teenused.

28. Saadaval on kaks võimalust. Kui klaster on reaalajas, peame katkestuse minimeerimiseks eelistama veerevat taaskäivitamist. Uue installimise ajal saame valida teise valiku „Kliendi konfiguratsiooni uuesti juurutamine” ja klõpsata nupul „Taaskäivita kohe”.

29. Kui taaskäivitamine on edukalt lõpule viidud, saate oleku „Valmis“. Protsessi lõpuleviimiseks klõpsake nuppu Lõpeta.

30. Nüüd ühendame Hiveserver2, kasutades režiimi Zookeeper Discovery. JDBC-ühenduses on string, mida peame kasutama Zookeeperi servereid selle pordinumbriga 2081. Koguge Zookeeperi serverid, minnes Cloudera Manager -> Zookeeper -> Instances -> (märkige üles serveri nimed).

Need on kolm serverit, millel on Zookeeper, 2181 on pordi number.

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

31. Nüüd pääse beeline.

[[email  ~]$ beeline

32. Sisestage JDBC-ühenduse string, nagu allpool mainitud. Peame mainima teenuse avastamise režiimi ja Zookeeperi nimeruumi. ‘Hiveserver2’ on Hiveserver2 vaikimisi nimeruum.

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

33. Nüüd on seanss ühendatud Hiveserver2-ga, mis töötab master1-l. Valideerimiseks käivitage näidispäring. Andmebaasi loomiseks kasutage allolevat käsku.

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

34. Andmebaasi loetlemiseks kasutage allolevat käsku.

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

35. Nüüd kinnitame kõrge kättesaadavuse Zookeeperi avastamisrežiimis. Minge Cloudera Manageri juurde ja peatage Hiveserver2 saidil master1, mida oleme eespool testinud.

Cloudera Manager -> taru -> eksemplarid -> (valige master-serveril Hiveserver2) -> valitud toiming -> peata.

36. Klõpsake nuppu „Peata”. Kui see on peatatud, saate oleku „Valmis“. Veenduge, et Hiveserver2 on master1, navigeerides jaotisse Hive -> Instances.

37. Minge beeline'i ja ühendage Hiveserver2, kasutades sama JDBC-ühenduse stringi Zookeeperi avastamisrežiimiga, nagu me tegime ülaltoodud sammudes.

[[email  ~]$ beeline

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

Nüüd ühendatakse teid Master2-is töötava Hiveserver2-ga.

38. Kinnitage näidispäringuga.

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

Selles artiklis oleme läbinud üksikasjalikud sammud, et Hive Data Warehouse mudel oleks meie kõrge kättesaadavusega klastris. Reaalajas tootmiskeskkonnas paigutatakse rohkem kui kolm Hiveserver2, kui Zookeeperi avastamisrežiim on lubatud.

Siin registreeruvad kõik Hiveserver2 Zookeeperis ühise nimeruumi all. Zookeeper avastab dünaamiliselt saadaoleva Hiveserver2 ja loob taru seansi.