Giunsa ang Pag-install ug Pag-configure sa Hive nga adunay Taas nga Kaarang - Bahin 7


Ang Hive usa ka modelo sa Data Warehouse sa Hadoop Eco-System. Mahimo kini nga usa ka ETL nga himan sa ibabaw sa Hadoop. Ang pagpagana sa High Availability (HA) sa Hive dili parehas sa among gibuhat sa Master Services sama sa Resource Manager.

Ang awtomatikong failover dili mahitabo sa Hive (Hiveserver2). Kung ang bisan unsang Hiveserver2 (HS2) mapakyas, ang pagpadagan sa mga trabaho sa napakyas nga HS2 mapakyas. Kinahanglan namon nga isumite pag-usab ang trabaho aron ang trabaho makadagan sa ubang HiveServer2. Busa, ang pagpagana sa HA sa HS2 walay lain kondili, ang pagdugang sa gidaghanon sa mga sangkap sa HS2 sa Cluster.

Niini nga artikulo, atong makita ang mga lakang sa pag-instalar ug pagpagana sa High Availability of Hive.

  • Pinakamaayong Praktis sa Pag-deploy sa Hadoop Server sa CentOS/RHEL 7 – Bahin 1
  • Pag-set up sa Hadoop Pre-requisites ug Security Hardening – Bahin 2
  • Unsaon Pag-instalar ug Pag-configure sa Cloudera Manager sa CentOS/RHEL 7 – Bahin 3
  • Giunsa ang Pag-instalar sa CDH ug Pag-configure sa Mga Placement sa Serbisyo sa CentOS/RHEL 7 – Bahin 4
  • Unsaon Pag-set up sa Taas nga Availability para sa Namenode – Bahin 5
  • Unsaon Pag-set up sa Taas nga Kagamitan para sa Resource Manager – Bahin 6

Magsugod na ta…

Pag-instalar ug Pag-configure sa Hive

1. Login sa Cloudera Manager sa ubos nga URL ug navigate sa Cloudera Manager -> Add Service.

http://13.233.129.39:7180/cmf/home

2. Pilia ang serbisyo nga 'Hive'.

3. I-assign ang mga serbisyo sa mga node.

  • Gateway – Kini ang serbisyo sa kliyente diin ang user maka-access sa Hive. Kasagaran, kini nga serbisyo ibutang sa mga Edge node nga gipahinungod sa mga tiggamit.
  • Hive Metastore – Kini usa ka sentro nga tipiganan alang sa pagtipig sa Hive Metadata.
  • WebHCat Server – Usa kini ka Web API para sa HCatalog ug uban pang Serbisyo sa Hadoop.
  • Hiveserver2 – Kini usa ka interface sa mga kliyente para sa pagpahigayon sa pangutana sa Hive.

Kung gipili ang mga server, i-klik ang 'Padayon' aron magpadayon.

4. Ang Hive Metastore nanginahanglan usa ka nagpahiping Database alang sa pagtipig sa Metadata. Dinhi among gigamit ang default nga database sa PostgreSQL nga na-inbuilt sa CDH.

Ubos nga gihisgutan ang mga detalye sa database awtomatik nga isulod, ang 'Test Connection' malaktawan tungod kay ang gihisgutan nga database pagabuhaton sa langaw. Sa tinuud nga oras, kinahanglan namon nga maghimo sa Database sa gawas nga database ug sulayan ang koneksyon aron magpadayon pa. Kung nahuman na, palihug i-klik ang 'Padayon'.

5. I-configure ang direktoryo sa Hive Warehouse, /user/hive/warehouse mao ang default nga agianan sa direktoryo alang sa pagtipig sa mga lamesa sa Hive. I-klik ang 'Padayon'.

6. Pag-instalar sa Hive gisugdan.

7. Kung nahuman na ang pag-instalar, mahimo nimong makuha ang status nga 'Natapos'. I-klik ang 'Ipadayon' aron magpadayon pa.

8. Ang pag-instalar ug Configuration sa hive malampuson nga nahuman. I-klik ang 'Tapos' aron makompleto ang pamaagi sa pag-instalar.

9. Makita nimo ang serbisyo sa Hive nga gidugang sa Cluster pinaagi sa Cloudera Manager Dashboard.

10. Mahimo nimong tan-awon ang Hiveserver2 sa Instance of Hive. Gidugang namo ang Hiveserver2 sa master1.

Cloudera Manager -> Hive -> Mga Instance -> Hiveserver2.

Pag-enable sa High Availability sa Hive

11. Sunod idugang ang Hive role pinaagi sa pag-adto sa Cloudera Manager -> Hive -> Actions -> Add Role Instances.

12. Pilia ang mga server diin gusto nimo ibutang ang dugang nga Hiveserver2. Mahimo nimong idugang ang labaw sa duha, wala’y limitasyon. Dinhi kami nagdugang usa ka dugang nga Hiveserver2 sa master2.

13. Sa higayon nga mapili ang server, i-klik ang 'Continue'.

14. Usa ka Hiververver2 ang idugang sa Hive Instances, kinahanglan nimo nga sugdan kini pinaagi sa pag-adto sa Cloudera Manager -> Hive -> Instance -> (Pilia ang Hiveserver2 nga gidugang bag-o) -> Action for Selected -> Start.

15. Kung nagsugod na ang Hiveserver2 sa master2, makuha nimo ang status nga 'Natapos na'. I-klik ang Close.

16. Mahimo nimong tan-awon, ang mga Hiveserver2 nagdagan.

Pag-verify sa Availability sa Hive

Mahimo natong makonektar ang Hiveserver2 pinaagi sa beeline nga usa ka nipis nga kliyente ug command-line. Gigamit niini ang drayber sa JDBC aron matukod ang koneksyon.

17. Pag-login sa Server diin nagdagan ang Hive Gateway.

[[email  ~]$ beeline

18. Isulod ang JDBC connection string para makonektar ang Hiveserver2. Niini nga koneksyon, ang string nga among gihisgutan ang Hiverserver2 (master2) nga adunay default port number nga 10000. Kini nga koneksyon string magkonektar lamang sa Hiveserver2 nga nagdagan sa master2.

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

19. Pagdalag sample nga pangutana.

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

Kini mao ang default database nga moabut inbuilt.

20. Gamita ang sugo sa ubos aron tapuson ang sesyon sa Hive.

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

21. Mahimo nimong gamiton ang parehas nga paagi aron makonektar ang Hiveserver2 nga nagdagan sa master2.

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

23. Makonektar nato ang Hiveserver2 sa Zookeeper Discovery mode. Sa kini nga pamaagi, dili na kinahanglan nga hisgutan ang Hiveserver2 sa koneksyon string sa baylo nga gigamit namon ang Zookeeper aron mahibal-an ang magamit nga Hiveserver2.

Dinhi kita makagamit ug third-party nga load balancer aron mabalanse ang load taliwala sa available nga Hiverserver2. Ang ubos nga pag-configure gikinahanglan aron mahimo ang Zookeeper Discovery Mode pinaagi sa pag-adto sa Cloudera Manager -> Hive -> Configuration.

24. Sunod, pangitaa ang property nga \HiveServer2 Advanced Configuration Snippet ug i-klik ang + nga simbolo aron idugang ang ubos nga property.

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

25. Sa higayon nga misulod sa kabtangan, i-klik ang 'Save Changes'.

26. Samtang naghimo kami og mga pagbag-o sa Configuration, kinahanglan nga i-restart ang mga apektadong serbisyo pinaagi sa pag-klik sa Orange Color Symbol aron ma-restart ang mga serbisyo.

27. I-klik ang 'I-restart ang Stale' nga mga serbisyo.

28. Adunay duha ka opsyon nga anaa. Kung ang cluster naa sa live production, kinahanglan natong pilion ang rolling restart aron maminusan ang outage. Samtang bag-o pa kami nga nag-instalar, mahimo namon nga pilion ang ikaduha nga kapilian 'Pag-deploy Pag-usab sa Configuration sa Kliyente', ug i-klik ang 'I-restart Karon'.

29. Sa higayon nga ang restart nahuman nga malampuson, kamo sa pagkuha sa status 'Nahuman'. I-klik ang 'Finish' aron makompleto ang proseso.

30. Karon atong ikonektar ang Hiveserver2 gamit ang Zookeeper Discovery mode. Sa koneksyon sa JDBC, ang string nga atong gikinahanglan nga gamiton ang Zookeeper servers uban sa iyang port number 2081. Tigoma ang Zookeeper servers pinaagi sa pag-adto sa Cloudera Manager -> Zookeeper -> Instances -> (Tan-awa ang mga ngalan sa server).

Kini ang tulo nga mga server nga adunay Zookeeper, 2181 ang numero sa pantalan.

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

31. Karon adto sa beeline.

[[email  ~]$ beeline

32. Pagsulod sa JDBC connection string sama sa paghisgot sa ubos. Kinahanglan natong hisgutan ang Service Discovery Mode ug Zookeeper Namespace. Ang 'hiveserver2' mao ang default nga Namespace sa 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. Karon ang sesyon konektado sa Hiveserver2 nga nagdagan sa master1. Pagdalag sampol nga pangutana aron ma-validate. Gamita ang ubos nga sugo sa paghimo og database.

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

34. Gamita ang ubos nga sugo sa paglista sa database.

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

35. Karon atong i-validate ang High Availability sa Zookeeper Discovery Mode. Adto sa Cloudera Manager ug ihunong ang Hiveserver2 sa master1 nga among gisulayan sa ibabaw.

Cloudera Manager -> Hive -> Instance -> (pilia ang Hiveserver2 sa master1) -> Aksyon alang sa napili -> Hunong.

36. I-klik ang 'Hunong'. Kung mahunong na, makuha nimo ang status nga 'Tapos na'. I-verify ang Hiveserver2 sa master1 pinaagi sa pag-navigate sa Hive -> Mga Instance.

37. Pag-adto sa beeline ug ikonektar ang Hiveserver2 gamit ang parehas nga JDBC connection string sa Zookeeper Discovery Mode sama sa among gibuhat sa mga lakang sa ibabaw.

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

Karon ikaw konektado sa Hiveserver2 nga nagdagan sa master2.

38. I-validate gamit ang sample nga pangutana.

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

Niini nga artikulo, nakaagi na kami sa mga detalyadong lakang aron mabatonan ang modelo sa Hive Data Warehouse sa among Cluster nga adunay Taas nga Availability. Sa usa ka real-time nga palibot sa produksiyon, labaw pa sa tulo ka Hiveserver2 ang ibutang sa Zookeeper Discovery Mode nga gipagana.

Dinhi, ang tanan nga Hiveserver2's nagparehistro sa Zookeeper ubos sa usa ka komon nga Namespace. Ang Zookeeper Dynamically nakadiskobre sa anaa nga Hiveserver2 ug nagtukod sa Hive session.