Kif Tinstalla u Kkonfigurat Doqqajs b'Disponibbiltà Għolja - Parti 7


Hive huwa mudell ta' Data Warehouse f'Hadoop Eco-System. Jista 'jwettaq bħala għodda ETL fuq Hadoop. L-abilitazzjoni tad-Disponibbiltà Għolja (HA) fuq Hive mhijiex simili kif nagħmlu fis-Servizzi Master bħall-Maniġer tar-Riżorsi.

Il-falliment awtomatiku mhux se jseħħ f'Hive (Hiveserver2). Jekk xi Hiveserver2 (HS2) ifalli, it-tħaddim ta' impjiegi fuq dak l-HS2 fallut se jfalli. Irridu nibgħatu mill-ġdid ix-xogħol sabiex ix-xogħol ikun jista' jaħdem fuq HiveServer2 ieħor. Għalhekk, l-abilitazzjoni ta' HA fuq HS2 m'hi xejn ħlief, li jiżdied in-numru ta' komponenti HS2 fil-Cluster.

F'dan l-artikolu, se naraw il-passi biex ninstallaw u nippermettu d-Disponibbiltà Għolja ta 'Hive.

  • L-Aħjar Prattiċi għall-Iskjerament ta' Hadoop Server fuq CentOS/RHEL 7 – Parti 1
  • Twaqqif ta' Prerekwiżiti ta' Hadoop u Twebbis tas-Sigurtà – Parti 2
  • Kif tinstalla u tikkonfigura l-Maniġer ta' Cloudera fuq CentOS/RHEL 7 – Parti 3
  • Kif Tinstalla CDH u Kkonfigurat Pjazzamenti tas-Servizz fuq CentOS/RHEL 7 – Parti 4
  • Kif Twaqqaf Disponibbiltà Għolja għal Namenode – Parti 5
  • Kif Twaqqaf Disponibbiltà Għolja għall-Maniġer tar-Riżorsi – Parti 6

Ejja nibdew…

Installazzjoni u Konfigurazzjoni tad-doqqajs

1. Idħol ma' Cloudera Manager fil-URL hawn taħt u naviga għal Cloudera Manager -> Żid is-Servizz.

http://13.233.129.39:7180/cmf/home

2. Agħżel is-servizz 'Hive'.

3. Assenja s-servizzi fuq in-nodi.

  • Gateway – Huwa s-servizz tal-klijent fejn l-utent jista’ jaċċessa l-Hive. Normalment, dan is-servizz jitqiegħed f'nodi Edge ddedikati għall-utenti.
  • Hive Metastore – Huwa repożitorju ċentrali għall-ħażna tal-Metadata Hive.
  • WebHCat Server – Huwa Web API għal HCatalog u Servizzi Hadoop oħra.
  • Hiveserver2 – Huwa interface ta' klijenti għall-eżekuzzjoni ta' mistoqsijiet fuq Hive.

Ladarba magħżula s-servers, ikklikkja Kompli biex tipproċedi.

4. Hive Metastore jeħtieġ Database sottostanti għall-ħażna tal-Metadata. Hawnhekk qed nużaw id-database PostgreSQL default li hija inerenti ma 'CDH.

Id-dettalji tad-database msemmija hawn taħt jiddaħħlu awtomatikament, ‘Test Connection’ se tinqabeż peress li d-database msemmija se tinħoloq fuq il-fly. F'ħin reali, irridu noħolqu d-Database fid-database esterna u nittestjaw il-konnessjoni biex nipproċedu aktar. Ladarba jsir, jekk jogħġbok ikklikkja fuq il-'Kompli'.

5. Ikkonfigura d-direttorju Hive Warehouse, /user/hive/warehouse hija l-mogħdija tad-direttorju default għall-ħażna tat-tabelli Hive. Ikklikkja fuq ‘Kompli’.

6. L-installazzjoni ta 'Hive hija bdiet.

7. Ladarba l-installazzjoni titlesta, tista 'tikseb l-istatus 'Finished'. Ikklikkja ‘Kompli’ biex tipproċedi aktar.

8. L-installazzjoni u l-Konfigurazzjoni tad-doqqajs tlestew b'suċċess. Ikklikkja 'Files' biex tlesti l-proċedura ta' installazzjoni.

9. Tista 'tara s-servizz Hive miżjud fil-Cluster permezz ta' Cloudera Manager Dashboard.

10. Tista' tara l-Hiveserver2 f'Instances of Hive. Żidna Hiveserver2 f'master1.

Cloudera Manager –> Doqqajs –> Istanza –> Hiveserver2.

Jippermettu Disponibbiltà Għolja fuq Hive

11. Sussegwentement żid ir-rwol ta' Hive billi tmur Cloudera Manager –> Hive –> Azzjonijiet –> Żid Instanzi ta' Rwol.

12. Agħżel is-servers fejn trid tpoġġi Hiveserver2 żejda. Tista 'żżid aktar minn tnejn, m'hemm l-ebda limitu. Hawnhekk qed inżidu Hiveserver2 wieħed addizzjonali f'master2.

13. Ladarba jintgħażel is-server, ikklikkja ‘Kompli’.

14. Hiverser2 se jiġi miżjud fl-Istanzi Hive, għandek bżonn tibda billi tmur Cloudera Manager –> Doqqajs –> Istanza –> (Agħżel Hiveserver2 miżjud ġdid) –> Azzjoni għal Magħżula –> Ibda.

15. Ladarba Hiveserver2 beda fuq master2, ikollok l-istatus 'Finished'. Ikklikkja Agħlaq.

16. Tista 'tara, kemm il-Hiveserver2s qed jaħdmu.

Verifika tad-Disponibbiltà tal-Doqqajs

Nistgħu ngħaqqdu l-Hiveserver2 permezz tal-beeline li huwa thin client u kmand-line. Juża s-sewwieq JDBC biex jistabbilixxi l-konnessjoni.

17. Idħol fis-Server fejn qed jaħdem Hive Gateway.

[[email  ~]$ beeline

18. Daħħal is-sekwenza tal-konnessjoni JDBC biex tikkonnettja l-Hiveserver2. F'dan ir-rigward, is-sekwenza li qed insemmu l-Hiveserver2 (master2) bin-numru tal-port default tagħha 10000. Din is-sekwenza ta 'konnessjoni se tikkonnettja biss mal-Hiveserver2 li qed taħdem fuq master2.

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

19. Mexxi mistoqsija kampjun.

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

Din hija d-database default li tiġi inerenti.

20. Uża l-kmand ta 'hawn taħt biex ittemm is-sessjoni ta' Hive.

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

21. Tista' tuża l-istess mod biex tikkonnettja Hiveserver2 li jaħdem fuq master2.

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

23. Nistgħu nqabbdu l-Hiveserver2 fil-modalità Zookeeper Discovery. F'dan il-metodu, m'għandniex għalfejn insemmu l-Hiveserver2 fis-sekwenza tal-konnessjoni minflok qed nużaw Zookeeper biex niskopru l-Hiveserver2 disponibbli.

Hawnhekk nistgħu nużaw load balancer ta 'parti terza biex nibbilanċjaw it-tagħbija fost il-Hiverser2 disponibbli. Il-konfigurazzjoni ta 'hawn taħt hija meħtieġa biex tippermetti l-Modalità ta' Skoperta ta 'Zookeeper billi tmur fuq Cloudera Manager -> Doqqajs -> Konfigurazzjoni.

24. Sussegwentement, fittex il-proprjetà \HiveServer2 Advanced Configuration Snippet u kklikkja s-simbolu + biex iżżid il-proprjetà hawn taħt.

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

25. Ladarba ddaħħal il-proprjetà, ikklikkja ‘Save Changes’.

26. Hekk kif għamilna bidliet fil-Konfigurazzjoni, jeħtieġ li terġa 'tibda s-servizzi affettwati billi tikklikkja fuq is-Simbolu tal-Kulur Oranġjo biex terġa' tibda s-servizzi.

27. Ikklikkja ‘Ibda mill-ġdid Stale’ servizzi.

28. Hemm żewġ għażliet disponibbli. Jekk il-cluster ikun fil-produzzjoni ħaj, irridu nippreferu l-istartjar mill-ġdid li jimminimizzaw il-qtugħ. Hekk kif qed ninstallaw il-ġdid, nistgħu nagħżlu t-tieni għażla 'Skjejra mill-ġdid il-Konfigurazzjoni tal-Klijent', u kklikkja 'Ibda Issa'.

29. Ladarba l-istartjar mill-ġdid jitlesta b'suċċess, tkun qed tirċievi l-istatus 'Finished'. Ikklikkja 'Finish' biex tlesti l-proċess.

30. Issa se nqabbdu l-Hiveserver2 billi tuża l-modalità Zookeeper Discovery. Fil-konnessjoni JDBC, is-sekwenza neħtieġu nużaw is-servers Zookeeper bin-numru tal-port tagħha 2081. Iġbor is-servers Zookeeper billi tmur Cloudera Manager –> Zookeeper –> Instances –> (Innota l-ismijiet tas-server).

Dawn huma t-tliet servers li għandhom Zookeeper, 2181 huwa n-numru tal-port.

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

31. Issa tidħol fis-beeline.

[[email  ~]$ beeline

32. Daħħal is-sekwenza tal-konnessjoni JDBC kif tissemma hawn taħt. Irridu nsemmu s-Service Discovery Mode u Zookeeper Namespace. ‘hiveserver2’ huwa l-Ispazju tal-Isems default ta’ Hiveserver2.

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

33. Issa s-sessjoni hija konnessa ma 'Hiveserver2 li qed taħdem fuq master1. Mexxi kampjun ta' mistoqsija biex tivvalida. Uża l-kmand hawn taħt biex toħloq database.

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

34. Uża l-kmand hawn taħt biex telenka d-database.

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

35. Issa se nivvalidaw id-Disponibbiltà Għolja fil-Modalità ta 'Sejbien ta' Zookeeper. Mur għand Cloudera Manager u waqqaf il-Hiveserver2 fuq master1 li ttestjajna hawn fuq.

Cloudera Manager –> Doqqajs –> Istanza –> (agħżel Hiveserver2 fuq master1) –> Azzjoni għal magħżula –> Waqqaf.

36. Ikklikkja l-‘Stop’. Ladarba titwaqqaf, tkun qed tirċievi l-istatus 'Finished'. Ivverifika l-Hiveserver2 fuq master1 billi tinnaviga f'Hive –> Instances.

37. Idħol fil-beeline u qabbad il-Hiveserver2 billi tuża l-istess string ta 'konnessjoni JDBC ma' Zookeeper Discovery Mode kif għamilna fil-passi ta 'hawn fuq.

[[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"

Issa inti tkun konness ma' Hiveserver2 li jaħdem fuq master2.

38. Ivvalida b'kampjun ta' mistoqsija.

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

F'dan l-artikolu, għaddejna mill-passi dettaljati biex ikollna l-mudell Hive Data Warehouse fil-Cluster tagħna b'Disponibbiltà Għolja. F'ambjent ta' produzzjoni f'ħin reali, aktar minn tliet Hiveserver2 se jitqiegħdu bil-Modalità Discovery Zookeeper attivata.

Hawnhekk, il-Hiveserver2 kollha qed jirreġistraw ma' Zookeeper taħt Namespace komuni. Zookeeper dinamikament jiskopri l-Hiveserver2 disponibbli u jistabbilixxi s-sessjoni Hive.