Wéi installéiert a konfiguréiert Hive mat héijer Disponibilitéit - Deel 7


Hive ass en Data Warehouse Modell am Hadoop Eco-System. Et kann als ETL Tool uewen op Hadoop Leeschtunge. Héich Disponibilitéit (HA) op Hive z'aktivéieren ass net ähnlech wéi mir a Master Services wéi Ressource Manager maachen.

Automatesch Failover wäert net am Hive (Hiveserver2) geschéien. Wann all Hiveserver2 (HS2) klappt, lafen Aarbechtsplazen op deem gescheitert HS2 versoen. Mir mussen d'Aarbecht nei ofginn fir datt d'Aarbecht op aneren HiveServer2 lafen kann. Also, HA op HS2 z'aktivéieren ass näischt anescht wéi d'Zuel vun den HS2 Komponenten am Cluster erhéijen.

An dësem Artikel wäerte mir d'Schrëtt gesinn fir d'High Availability of Hive z'installéieren an z'aktivéieren.

  • Best Practices fir den Hadoop Server op CentOS/RHEL 7 z'installéieren - Deel 1
  • Hadoop Viraussetzunge a Sécherheetshärung opsetzen - Deel 2
  • Wéi installéiert a konfiguréiert de Cloudera Manager op CentOS/RHEL 7 - Deel 3
  • Wéi CDH installéiere an Serviceplacementer op CentOS/RHEL 7 konfiguréieren - Deel 4
  • Wéi héich Disponibilitéit fir Namenode opzestellen - Deel 5
  • Wéi héich Disponibilitéit fir Ressource Manager opzestellen - Deel 6

Loosst eis ufänken ...

Hive Installatioun a Konfiguratioun

1. Login op Cloudera Manager op der ënnen URL a navigéiert op Cloudera Manager -> Add Service.

http://13.233.129.39:7180/cmf/home

2. Wielt de Service 'Hive'.

3. Gitt d'Servicer op Wirbelen.

  • Gateway - Et ass de Client Service wou de Benotzer Zougang zum Hive kann. Normalerweis gëtt dëse Service an Edge Noden gesat, déi fir d'Benotzer gewidmet sinn.
  • Hive Metastore - Et ass en zentrale Repository fir Hive Metadate ze späicheren.
  • WebHCat Server - Et ass e Web API fir HKatalog an aner Hadoop Servicer.
  • Hiveserver2 - Et ass en Interface vu Clienten fir Ufroausféierung op Hive.

Wann Dir d'Server gewielt hutt, klickt op 'Continue' fir weiderzemaachen.

4. Hive Metastore brauch eng Basisdatenbank fir Metadaten ze späicheren. Hei benotze mir d'Standard PostgreSQL Datebank déi mat CDH inbuilt ass.

Ënnert ernimmt Datenbankdetailer ginn automatesch aginn, 'Testverbindung' gëtt iwwersprongen well déi ernimmt Datebank direkt erstallt gëtt. An Echtzäit musse mir d'Datebank an der externer Datebank erstellen an d'Verbindung testen fir weider ze goen. Eemol gemaach, klickt w.e.g. op 'Continue'.

5. Konfiguréieren den Hive Warehouse Verzeechnes, /user/hive/warehouse ass de Standardverzeechneswee fir Hive Dëscher ze späicheren. Klickt op 'Continue'.

6. Installatioun vun Hive gëtt ugefaangen.

7. Wann d'Installatioun fäerdeg ass, kënnt Dir de Status Fäerdeg kréien. Klickt op 'Continue' fir weiderzegoen.

8. Hive Installatioun an Configuratioun erfollegräich ofgeschloss. Klickt 'Finish'fir d'Installatiounsprozedur ofzeschléissen.

9. Dir kënnt den Hive Service gesinn, deen am Cluster bäigefüügt gëtt duerch Cloudera Manager Dashboard.

10. Dir kënnt den Hiveserver2 an Instanzen vun Hive gesinn. Mir hunn Hiveserver2 am Master1 bäigefüügt.

Cloudera Manager -> Hive -> Instanzen -> Hiveserver2.

Aktivéiert Héich Disponibilitéit op Hive

11. Nächst add Hive Roll andeems Dir op Cloudera Manager gitt -> Hive -> Actions -> Roll Instances addéieren.

12. Wielt d'Serveren wou Dir extra Hiveserver2 wëllt placéieren. Dir kënnt méi wéi zwee derbäi, et gëtt keng Limit. Hei addéiere mer en extra Hiveserver2 am Master2.

13. Eemol de Server ausgewielt, klickt op 'Continue'.

14. En Hiverserver2 gëtt an d'Hive Instanzen bäigefüügt, Dir musst et starten andeems Dir op Cloudera Manager gitt -> Hive -> Instanzen -> (Wielt Hiveserver2 nei addéiert) -> Action for Selected -> Start.

15. Wann Hiveserver2 op master2 ugefaang huet, kritt Dir de Status 'Finished'. Klickt Zoumaachen.

16. Dir kënnt kucken, souwuel d'Hiveserver2s lafen.

Verifizéiert d'Hive Disponibilitéit

Mir kënnen den Hiveserver2 duerch d'Beeline verbannen, déi en dënnen Client a Kommandozeil ass. Et benotzt den JDBC Chauffer fir d'Verbindung opzebauen.

17. Login op Server wou Hive Gateway leeft.

[[email  ~]$ beeline

18. Gitt d'JDBC Verbindungsstring fir den Hiveserver2 ze verbannen. An dësem Zesummenhang, de String mir ernimmen Hiverserver2 (master2) mat senger Default Port Nummer 10000. Dës Verbindung String wäert nëmmen un der Hiveserver2 Verbindung déi op master2 leeft.

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

19. Laf eng Prouf Ufro.

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

Dëst ass d'Default Datebank déi agebaut ass.

20. Benotzt de Kommando hei ënnen fir d'Hive Sessioun ofzeschléissen.

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

21. Dir kënnt déi selwecht Manéier benotzen Hiveserver2 Lafen op master2 ze konnektéieren.

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

23. Mir kënnen den Hiveserver2 am Zookeeper Discovery Modus verbannen. An dëser Method brauche mir den Hiveserver2 net an der Verbindungsstring ze ernimmen, amplaz benotze mir Zookeeper fir de verfügbaren Hiveserver2 z'entdecken.

Hei kënne mir en Drëtt Partei Lastbalancer benotzen fir d'Laascht tëscht de verfügbaren Hiverserver2 ze balanséieren. Déi ënnen Konfiguratioun ass néideg fir Zookeeper Discovery Mode z'aktivéieren andeems Dir op Cloudera Manager gitt -> Hive -> Konfiguratioun.

24. Als nächst, sicht d'Eegeschaft \HiveServer2 Advanced Configuration Snippet a klickt op + Symbol fir d'Eegeschafte bäizefügen.

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

25. Eemol an der Immobilie aginn, klickt op 'Ännerungen späicheren'.

26. Wéi mir Ännerunge vun der Konfiguratioun gemaach hunn, musst Dir déi betraffe Servicer nei starten andeems Dir op den Orange Faarf Symbol klickt fir d'Servicer nei ze starten.

27. Klickt op 'Restart Stale' Servicer.

28. Et ginn zwou Méiglechkeeten. Wann de Stärekoup an der Liveproduktioun ass, musse mir de rullende Restart léiwer maachen fir den Ausfall ze minimiséieren. Wéi mir nei installéieren, kënne mir déi zweet Optioun wielen 'Client Configuration re-deploy', a klickt op 'Restart Now'.

29. Wann de Restart erfollegräich ofgeschloss ass, kritt Dir de Status Fäerdeg. Klickt op 'Finish' fir de Prozess ofzeschléissen.

30. Elo verbannen mir den Hiveserver2 mam Zookeeper Discovery Modus. An der JDBC Verbindung, de String, dee mir brauchen fir d'Zookeeper-Server mat senger Portnummer 2081 ze benotzen. Sammelt d'Zookeeper-Server andeems Dir op Cloudera Manager -> Zookeeper -> Instanzen -> (Notizéiert d'Servernamen).

Dëst sinn déi dräi Serveren déi Zookeeper hunn, 2181 ass d'Portnummer.

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

31. Gitt elo an d'Beeline.

[[email  ~]$ beeline

32. Gitt d'JDBC Verbindung String wéi hei ënnendrënner. Mir mussen de Service Discovery Mode an Zookeeper Namespace ernimmen. 'hiveserver2' ass de Standard Nummraum vum 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. Elo ass d'Sessioun verbonne mat Hiveserver2 op Master1 lafen. Laf eng Probe Ufro fir ze validéieren. Benotzt de Kommando ënnen fir eng Datebank ze kreéieren.

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

34. Benotzt de Kommando hei ënnen fir d'Datebank ze lëschten.

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

35. Elo wäerte mir d'High Disponibilitéit am Zookeeper Discovery Mode validéieren. Gitt op Cloudera Manager a stoppt den Hiveserver2 op master1 dee mir uewen getest hunn.

Cloudera Manager -> Hive -> Instanzen -> (wielt Hiveserver2 op master1) -> Aktioun fir ausgewielt -> Stop.

36. Klickt op 'Stop'. Eemol gestoppt, kritt Dir de Status Fäerdeg. Verifizéiert den Hiveserver2 op master1 andeems Dir an Hive -> Instanzen navigéiert.

37. Gitt an d'Beeline a verbënnt den Hiveserver2 mat der selwechter JDBC Verbindungsstring mam Zookeeper Discovery Mode wéi mir an den uewe genannte Schrëtt gemaach hunn.

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

Elo sidd Dir mat Hiveserver2 verbonne mat Master2 lafen.

38. Validéiere mat enger Prouf Ufro.

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

An dësem Artikel hu mir déi detailléiert Schrëtt duerchgaang fir den Hive Data Warehouse Modell an eisem Cluster mat héijer Disponibilitéit ze hunn. An engem Echtzäit Produktiounsëmfeld ginn méi wéi dräi Hiveserver2 mat Zookeeper Discovery Mode aktivéiert.

Hei registréieren all Hiveserver2's sech mam Zookeeper ënner engem gemeinsame Nummraum. Zookeeper entdeckt dynamesch de verfügbaren Hiveserver2 an etabléiert d'Hive Sessioun.