Kā uzstādīt un konfigurēt stropu ar augstu pieejamību - 7. daļa


Strops ir datu noliktavas modelis Hadoop Eco-System. Tas var darboties kā ETL rīks virs Hadoop. Augstas pieejamības (HA) iespējošana stropā nav līdzīga, kā mēs to darām tādos galvenajos pakalpojumos kā Resource Manager.

Automātiska pārslēgšanās nenotiks stropā (Hiveserver2). Ja kāds Hiveserver2 (HS2) neizdodas, darbosies darbi ar šo neizdevušos HS2. Mums ir atkārtoti jāiesniedz darbs, lai darbu varētu izmantot citā HiveServer2. Tātad HA iespējošana HS2 nav nekas cits kā HS2 komponentu skaita palielināšana klasterī.

Šajā rakstā mēs redzēsim darbības, kā instalēt un iespējot stropa augstu pieejamību.

  • Hadoop servera izvietošanas paraugprakse CentOS/RHEL 7 - 1. daļa
  • Hadoop priekšnoteikumu un drošības sacietēšanas iestatīšana - 2. daļa
  • Kā instalēt un konfigurēt Cloudera Manager vietnē CentOS/RHEL 7 - 3. daļa
  • Kā instalēt CDH un konfigurēt pakalpojumu izvietojumus CentOS/RHEL 7 - 4. daļa
  • Kā iestatīt Namenode augstu pieejamību - 5. daļa
  • Kā iestatīt resursu pārvaldniekam augstu pieejamību - 6. daļa

Sāksim…

Stropa uzstādīšana un konfigurēšana

1. Piesakieties Cloudera Manager vietnē zemāk esošajā URL un dodieties uz Cloudera Manager -> Add Service.

http://13.233.129.39:7180/cmf/home

2. Atlasiet pakalpojumu ‘Strops’.

3. Piešķiriet pakalpojumus mezglos.

  • Vārteja - tas ir klientu serviss, kurā lietotājs var piekļūt stropam. Parasti šis pakalpojums tiks ievietots lietotājiem paredzētos Edge mezglos.
  • Stropu metastore - tā ir centrālā krātuve stropu metadatu glabāšanai.
  • WebHCat Server - tas ir Web API HCatalog un citiem Hadoop Services.
  • Hiveserver2 - tā ir klientu saskarne vaicājumu izpildei Hive.

Kad esat izvēlējies serverus, noklikšķiniet uz Turpināt, lai turpinātu.

4. Stropu metastorei ir nepieciešama pamatā esoša datu bāze metadatu glabāšanai. Šeit mēs izmantojam noklusējuma PostgreSQL datu bāzi, kas ir iebūvēta ar CDH.

Zemāk minētā datu bāzes informācija tiks ievadīta automātiski, ‘Test Connection’ tiks izlaista, jo minētā datu bāze tiks izveidota lidojuma laikā. Reāllaikā mums ir jāizveido datu bāze ārējā datu bāzē un jāpārbauda savienojums, lai turpinātu darbu. Kad tas ir izdarīts, lūdzu, noklikšķiniet uz Turpināt.

5. Konfigurējiet Hive Warehouse direktoriju,/user/hive/storage ir noklusējuma direktorijas ceļš Hive tabulu glabāšanai. Noklikšķiniet uz Turpināt.

6. Tiek uzsākta stropa uzstādīšana.

7. Kad instalēšana ir pabeigta, jūs varat saņemt statusu “Pabeigts”. Lai turpinātu, noklikšķiniet uz Turpināt.

8. Stropa instalēšana un konfigurēšana ir veiksmīgi pabeigta. Noklikšķiniet uz Pabeigt, lai pabeigtu instalēšanas procedūru.

9. Stropā pievienoto pakalpojumu Stropu var redzēt, izmantojot Cloudera Manager informācijas paneli.

10. Hiveserver2 var apskatīt Stropu instancēs. Mēs esam pievienojuši Hiveserver2 master1.

Cloudera pārvaldnieks -> strops -> gadījumi -> strāvas serveris2.

Augstas pieejamības iespējošana stropā

11. Pēc tam pievienojiet Hive lomu, dodoties uz Cloudera Manager -> Hive -> Actions -> Add Role Instances.

12. Atlasiet serverus, kuros vēlaties ievietot papildu Hiveserver2. Jūs varat pievienot vairāk nekā divus, ierobežojumu nav. Šeit mēs pievienojam papildu vienu Hiveserver2 master2.

13. Kad serveris ir izvēlēts, noklikšķiniet uz Turpināt.

14. Hiveserver2 tiks pievienots Hive Instances, jums tas jāsāk, dodoties uz Cloudera Manager -> Hive -> Instances -> (Atlasiet Hiveserver2 pievienots nesen) -> Action for Selected -> Start.

15. Kad Hiveserver2 sāk darboties master2, jūs saņemsiet statusu ‘Pabeigts’. Noklikšķiniet uz Aizvērt.

16. Varat apskatīt, darbojas abi Hiveserver2.

Stropa pieejamības pārbaude

Mēs varam savienot Hiveserver2 caur līniju, kas ir mazs klients un komandrinda. Lai izveidotu savienojumu, tas izmanto JDBC draiveri.

17. Piesakieties serverī, kurā darbojas Hive Gateway.

[[email  ~]$ beeline

18. Lai pievienotu Hiveserver2, ievadiet JDBC savienojuma virkni. Šajā sakarā virkne, kuru mēs pieminam, Hiverserver2 (master2) ar noklusējuma porta numuru 10000. Šī savienojuma virkne tiks savienota tikai ar Hiveserver2, kas darbojas ar master2.

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

19. Palaidiet vaicājuma paraugu.

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

Šī ir noklusējuma datu bāze, kas tiek iebūvēta.

20. Izmantojiet zemāk esošo komandu, lai pārtrauktu stropu sesiju.

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

21. Jūs varat izmantot to pašu veidu, kā savienot Hiveserver2, kas darbojas uz master2.

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

23. Mēs varam savienot Hiveserver2 Zookeeper Discovery režīmā. Šajā metodē mums nav jāpiemin Hiveserver2 savienojuma virknē, tā vietā mēs izmantojam Zookeeper, lai atklātu pieejamo Hiveserver2.

Šeit mēs varam izmantot trešās puses slodzes līdzsvarotāju, lai līdzsvarotu slodzi starp pieejamo Hiverserver2. Tālāk norādītajai konfigurācijai ir jāiespējo Zookeeper Discovery Mode, dodoties uz Cloudera Manager -> Hive -> Configuration.

24. Pēc tam meklējiet rekvizītu “HiveServer2 Advanced Configuration Snippet” un noklikšķiniet uz simbola + , lai pievienotu zemāk redzamo rekvizītu.

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

25. Kad esat ievadījis rekvizītu, noklikšķiniet uz Saglabāt izmaiņas.

26. Veicot izmaiņas konfigurācijā, restartējiet attiecīgos pakalpojumus, noklikšķinot uz oranžas krāsas simbola, lai restartētu pakalpojumus.

27. Noklikšķiniet uz “Restart Stale” pakalpojumus.

28. Ir pieejamas divas iespējas. Ja kopa darbojas tiešraidē, mums ir jādod priekšroka atkārtotai palaišanai, lai samazinātu pārtraukumu. Tā kā mēs tikko instalējam, mēs varam izvēlēties otro opciju ‘Re-izvietot klienta konfigurāciju’ un noklikšķināt uz ‘Restart Now’.

29. Kad restartēšana ir veiksmīgi pabeigta, jūs saņemsit statusu “Pabeigts”. Lai pabeigtu procesu, noklikšķiniet uz Pabeigt.

30. Tagad mēs savienosim Hiveserver2, izmantojot Zookeeper Discovery režīmu. JDBC savienojumā virkne, kas mums jāizmanto Zookeeper serveros ar tā porta numuru 2081. Savāciet Zookeeper serverus, dodoties uz Cloudera Manager -> Zookeeper -> Instances -> (Piezīmējiet serveru nosaukumus).

Šie ir trīs serveri, kuros ir Zookeeper, 2181 ir porta numurs.

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

31. Tagad nokļūstiet līnijā.

[[email  ~]$ beeline

32. Ievadiet JDBC savienojuma virkni, kā minēts zemāk. Mums ir jāpiemin pakalpojuma atklāšanas režīms un zookeeper nosaukumvieta. ‘Hiveserver2’ ir noklusējuma Hiveserver2 nosaukumvieta.

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

33. Tagad sesija ir savienota ar Hiveserver2, kas darbojas master1. Lai validētu, izpildiet vaicājuma paraugu. Izmantojiet zemāk esošo komandu, lai izveidotu datu bāzi.

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

34. Izmantojiet zemāk esošo komandu, lai uzskaitītu datu bāzi.

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

35. Tagad mēs apstiprināsim augsto pieejamību Zookeeper Discovery režīmā. Dodieties uz Cloudera Manager un pārtrauciet Hiveserver2 vietnē master1, kuru esam pārbaudījuši iepriekš.

Cloudera Manager -> Hive -> Instances -> (master1 atlasiet Hiveserver2) -> Darbība atlasītajam -> Stop.

36. Noklikšķiniet uz “Stop”. Pēc pārtraukšanas jūs saņemsit statusu “Pabeigts”. Pārbaudiet Hiveserver2 master1, pārejot uz Hive -> Instances.

37. Iekļūstiet līnijā un pievienojiet Hiveserver2, izmantojot to pašu JDBC savienojuma virkni ar Zookeeper Discovery Mode, kā mēs to darījām iepriekšējās darbībās.

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

Tagad jums tiks izveidots savienojums ar Hiveserver2, kas darbojas master2.

38. Apstipriniet ar vaicājuma paraugu.

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

Šajā rakstā mēs esam veikuši detalizētas darbības, lai Hive Data Warehouse modelis būtu mūsu klasterī ar augstu pieejamību. Reāllaika ražošanas vidē vairāk nekā trīs Hiveserver2 tiks izvietoti ar iespējotu Zookeeper Discovery Mode.

Šeit visi Hiveserver2 reģistrējas Zookeeper zem kopējas nosaukumvietas. Zookeeper dinamiski atklāj pieejamo Hiveserver2 un izveido Hive sesiju.