Ujy ýokary elýeterlilik bilen nädip gurmaly we sazlamaly - 7-nji bölüm


“Hive” “Hadoop Eco-System” -da maglumat ammarydyr. Hadoop-yň üstünde ETL guraly hökmünde çykyş edip biler. “Hive” -de ýokary elýeterliligi (HA) açmak, Resurs dolandyryjysy ýaly ussat hyzmatlarda edişimiz ýaly däl.

Awtomatiki näsazlyk Hive-de bolmaz (Hiveserver2). Islendik Hiveserver2 (HS2) şowsuz bolsa, şowsuz HS2-de işlemek şowsuz bolar. Işiň beýleki HiveServer2-de işlemegi üçin işi täzeden ibermeli. Şeýlelik bilen, HS2-de HA-ny işletmek, Klasterdäki HS2 komponentleriniň sanyny köpeltmekden başga zat däl.

Bu makalada, “Hive” -iň ýokary elýeterliligini gurmak we işletmek üçin ädimleri göreris.

  • CentOS/RHEL 7-de Hadoop serwerini ýerleşdirmegiň iň oňat tejribeleri - 1-nji bölüm
  • “Hadoop” -y deslapky talaplary düzmek we Howpsuzlygy berkitmek - 2-nji bölüm
  • CentOS/RHEL 7 - 3-nji bölümde “Cloudera” dolandyryjysyny nädip gurmaly we sazlamaly
  • CDH-ni nädip gurmaly we CentOS/RHEL 7-de hyzmat ýerlerini nädip sazlamaly - 4-nji bölüm
  • Namenode üçin ýokary elýeterliligi nädip sazlamaly - 5-nji bölüm
  • Resurs dolandyryjysy üçin ýokary elýeterliligi nädip sazlamaly - 6-njy bölüm

Geliň başlalyň ...

Gurmak we konfigurasiýa

1. Aşakdaky URL-de “Cloudera Manager” -e giriň we “Cloudera Manager” -e geçiň -> Hyzmat goşuň.

http://13.233.129.39:7180/cmf/home

2. Güýç hyzmatyny saýlaň.

3. Hyzmatlary düwünlerde belläň.

  • Şlýuz - Ulanyjynyň Hywa girip bilýän müşderi hyzmaty. Adatça, bu hyzmat ulanyjylara bagyşlanan “Edge” düwünlerine ýerleşdiriler.
  • Hive Metastore - Hive Metadata-ny saklamak üçin merkezi ammar.
  • WebHCat Serweri - HCatalog we beýleki Hadoop Hyzmatlary üçin Web API.
  • Hiveserver2 - Hive-de talaplary ýerine ýetirmek üçin müşderileriň interfeýsi.

Serwerleri saýlanyňyzdan soň, dowam etmek üçin Dowam et düwmesine basyň.

4. “Hive Metastore” Metadata saklamak üçin esasy maglumatlar bazasyna mätäç. Bu ýerde CDH bilen gurlan adaty PostgreSQL maglumat bazasyny ulanýarys.

Aşakda agzalan maglumatlar binýadynyň jikme-jiklikleri awtomatiki usulda giriziler, görkezilen maglumatlar bazasy uçuş wagtynda dörediljekdigi sebäpli, Synag birikmesi geçer. Hakyky wagtda daşarky maglumatlar bazasynda Maglumatlar bazasyny döretmeli we mundan beýläk dowam etmek üçin baglanyşygy synap görmeli. Bir gezek gutaransoň, Dowam et düwmesine basmagyňyzy haýyş edýäris.

5. Hive ammary katalogyny sazlaň,/ulanyjy/uý/ammar, Hive tablisalaryny saklamak üçin esasy katalog ýoludyr. Dowam et düwmesine basyň.

6. Ujuny gurnamak başlandy.

7. Gurmak gutaransoň, Tamamlanan statusyny alyp bilersiňiz. Dowam etmek üçin Dowam et düwmesine basyň.

8. Ujy gurmak we konfigurasiýa üstünlikli tamamlandy. Gurmak amalyny tamamlamak üçin Finish -e basyň.

9. “Cloudera Manager” dolandyryş paneli arkaly Klasterde goşulan “Hive” hyzmatyny görüp bilersiňiz.

10. “Hiveserver2” -i “Hive” mysallarynda görüp bilersiňiz. Master1-de Hiveserver2-i goşduk.

“Cloudera Manager” -> Uýa -> Mysallar -> Hiveserver2.

Güýçde ýokary elýeterliligi üpjün etmek

11. Soňra “Cloudera Manager” -e girip, “Hive” roluny goşuň -> Hive -> Hereketler -> Rol rollaryny goşuň.

12. Goşmaça Hiveserver2 ýerleşdirjek serwerleriňizi saýlaň. Iki-den köp goşup bilersiňiz, çägi ýok. Bu ýerde master2-de goşmaça bir Hiveserver2 goşýarys.

13. Serweri saýlanyňyzdan soň, Dowam et düwmesine basyň.

14. “Hiverserver2” “Hive Instances” -e goşular, ony “Cloudera Manager” -> Hive -> Instances -> (Täze goşulan Hiveserver2 saýlaň) -> Saýlananlar üçin hereket -> Başlamak bilen başlamaly.

15. “Hiveserver2” master2-de işe başlansoň, “Tamamlandy” statusyna eýe bolarsyňyz. Closeapyň.

16. Hiveserver2-leriň ikisi hem işleýär.

Ujuň elýeterliligini barlamak

“Hiveserver2” -ni inçe müşderi we buýruk setiri bolan “belin” arkaly birleşdirip bileris. Baglanyşygy ýola goýmak üçin JDBC sürüjisini ulanýar.

17. “Hive Gateway” -yň işleýän Serwerine giriň.

[[email  ~]$ beeline

18. Hiveserver2-i birikdirmek üçin JDBC birikme setirini giriziň. Şol sebäpli, 10000 belgili port belgisi bilen Hiverserver2 (master2) agzalýan setir. Bu baglanyşyk setiri diňe master2-de işleýän Hiveserver2-e birikdiriler.

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

19. Mysal soragyny işlediň.

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

Bu gurlan esasy maglumatlar bazasy.

20. “Hive” sessiýasyny bes etmek üçin aşakdaky buýrugy ulanyň.

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

21. Master2-de işleýän Hiveserver2-i birikdirmek üçin şol bir ýoly ulanyp bilersiňiz.

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

23. Hiveserver2-i Zookeeper Discovery re iniminde birikdirip bileris. Bu usulda, baglanyşyk setirinde Hiveserver2-i ýatlamagyň zerurlygy ýok, ýerine elýeterli Hiveserver2-ni tapmak üçin Zookeeper ulanýarys.

Bu ýerde elýeterli Hiverserver2-iň arasyndaky ýükleri deňleşdirmek üçin üçünji tarap ýük balanserini ulanyp bileris. Aşakdaky konfigurasiýa, “Cloudera Manager -> Hive -> Configuration” -a girip, Zookeeper Discovery Mode-y işletmeli.

24. Ondan soň, HiveServer2 Advanced Configuration Snippet emlägini gözläň we aşakdaky emlägi goşmak üçin + nyşanyna basyň.

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

25. Gozgalmaýan emläk girizilenden soň, Üýtgeşmeleri ýatda saklaň düwmesine basyň.

26. Sazlama üýtgetmeler girizenimizde, hyzmatlary täzeden başlamak üçin mämişi reňk nyşanyna basyp, täsir eden hyzmatlary täzeden açmaly.

27. Stale täzeden başla hyzmatlaryna basyň.

28. Iki wariant bar. Klaster janly önümçilikde bolsa, öçmegi azaltmak üçin togalanmagy täzeden başlamagy makul bilmeli. Täze gurýarkak, “Müşderi konfigurasiýasyny täzeden ýerleşdiriň” ikinji opsiýasyny saýlap bileris we “Indi täzeden başlaň” düwmesine basyp bileris.

29. Täzeden başlamak üstünlikli tamamlanandan soň, Tamamlandy statusyna eýe bolarsyňyz. Amaly tamamlamak üçin Finish -e basyň.

30. Indi “Zookeeper Discovery” re usingimini ulanyp, Hiveserver2 birikdireris. JDBC birikmesinde, Zookeeper serwerlerini port belgisi 2081 bilen ulanmalydyrys. Zookeeper serwerlerini Cloudera Manager -> Zookeeper -> Instances -> (Serweriň atlaryny belläň) sahypasyna girip ýygnaň.

Bular Zookeeper bolan üç serwer, 2181 port belgisi.

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

31. Indi biline giriň.

[[email  ~]$ beeline

32. Aşakda görkezilişi ýaly JDBC birikme setirini giriziň. Hyzmat açyş tertibini we Zookeeper At giňişligini bellemeli. “Hiveserver2” “Hiveserver2” -iň adaty at giňişligi.

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

33. Indi sessiýa master1-de işleýän Hiveserver2-e birikdirildi. Barlamak üçin nusga talaplaryny işlediň. Maglumat bazasyny döretmek üçin aşakdaky buýrugy ulanyň.

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

34. Maglumatlar bazasyny sanawlamak üçin aşakdaky buýrugy ulanyň.

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

35. Indi Zookeeper Discovery Mode-da Highokary elýeterliligi tassyklarys. “Cloudera Manager” -e baryp, ýokarda synag eden master1-de “Hiveserver2” -ni duruzyň.

“Cloudera Manager” -> Güýç -> Mysallar -> (master1-de Hiveserver2 saýlaň) -> Saýlananlar üçin hereket -> Dur.

36. Dur düwmesine basyň. Bir gezek saklanandan soň, Tamamlandy statusyny alarsyňyz. “Hiveserver2” -ni “Hive -> Instances” -e geçip, master1-de barlaň.

37. Beline giriň we ýokardaky ädimlerde edişimiz ýaly Zookeeper Discovery Mode bilen şol bir JDBC baglanyşyk setirini ulanyp, Hiveserver2-i birikdiriň.

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

Indi master2-de işleýän Hiveserver2-e birikersiňiz.

38. Mysal soragy bilen tassyklaň.

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

Bu makalada, ýokary elýeterliligi bolan Klasterimizde “Hive Data Ammar” modeliniň bolmagy üçin jikme-jik ädimleri geçdik. Hakyky önümçilik gurşawynda Zookeeper Discovery Mode açyk üç sany Hiveserver2 ýerleşdiriler.

Bu ýerde, Hiveserver2-leriň hemmesi umumy at giňişliginde Zookeeper-de hasaba alynýar. Zookeeper elýeterli Hiveserver2-i dinamiki taýdan açýar we Hive sessiýasyny döredýär.