GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren und konfigurieren Sie Hive mit Hochverfügbarkeit – Teil 7

Bienenstock ist ein Data Warehouse Modell in Hadoop Ökosystem. Es kann zusätzlich zu Hadoop als ETL-Tool fungieren . Die Aktivierung von High Availability (HA) auf Hive ist nicht ähnlich wie bei Master Services wie Namenode und Resource Manager.

In Hive findet kein automatisches Failover statt (Hiveserver2 ). Wenn überhaupt Hiveserver2 (HS2 ) schlägt fehl und führt Jobs auf diesem fehlgeschlagenen HS2 aus wird scheitern. Wir müssen den Job erneut senden, damit der Job auf einem anderen HiveServer2 ausgeführt werden kann . Also HA aktivieren auf HS2 ist nichts als die Erhöhung der Anzahl von HS2 Komponenten im Cluster .

In diesem Artikel sehen wir die Schritte zum Installieren und Aktivieren der Hochverfügbarkeit von Hive .

Anforderungen

  • Best Practices für die Bereitstellung von Hadoop Server auf CentOS/RHEL 7 – Teil 1
  • Einrichten von Hadoop-Voraussetzungen und Sicherheitshärtung – Teil 2
  • So installieren und konfigurieren Sie den Cloudera Manager auf CentOS/RHEL 7 – Teil 3
  • Installieren von CDH und Konfigurieren von Dienstplatzierungen unter CentOS/RHEL 7 – Teil 4
  • So richten Sie Hochverfügbarkeit für Namenode ein – Teil 5
  • So richten Sie Hochverfügbarkeit für Resource Manager ein – Teil 6

Fangen wir an…

Hive-Installation und -Konfiguration

1. Melden Sie sich bei Cloudera Manager an Rufen Sie die folgende URL auf und navigieren Sie zu Cloudera Manager –> Dienst hinzufügen .

http://13.233.129.39:7180/cmf/home

2. Wählen Sie den Dienst „Hive“. ‘.

3. Ordnen Sie die Dienste Knoten zu.

  • Gateway – Es ist der Client-Dienst, über den der Benutzer auf den Hive zugreifen kann. Normalerweise wird dieser Dienst in Edge platziert Knoten, die den Benutzern gewidmet sind.
  • Hive-Metastore – Es ist ein zentrales Repository zum Speichern von Hive-Metadaten.
  • WebHCat-Server – Es ist eine Web-API für HCatalog und andere Hadoop-Dienste.
  • Hiveserver2 – Es ist eine Schnittstelle von Clients für die Abfrageausführung auf Hive.

Klicken Sie nach Auswahl der Server auf „Weiter“. ‘ um fortzufahren.

4. Hive Metastore benötigt eine zugrunde liegende Datenbank zum Speichern von Metadaten. Hier verwenden wir das standardmäßige PostgreSQL Datenbank, die mit CDH eingebaut ist .

Die unten genannten Datenbankdetails werden automatisch eingetragen, „Verbindung testen “ wird übersprungen, da die erwähnte Datenbank spontan erstellt wird. In Echtzeit müssen wir die Datenbank in der externen Datenbank erstellen und die Verbindung testen, um fortzufahren. Wenn Sie fertig sind, klicken Sie bitte auf „Weiter“. ’.

5. Konfigurieren Sie das Hive Warehouse Verzeichnis, /user/hive/warehouse ist der Standardverzeichnispfad zum Speichern von Hive-Tabellen. Klicken Sie auf „Weiter“. ’.

6. Die Installation von Hive wird gestartet.

7. Sobald die Installation abgeschlossen ist, erhalten Sie die Meldung „Fertig ’ Status. Klicken Sie auf „Weiter“. ’, um fortzufahren.

8. Hive-Installation und -Konfiguration erfolgreich abgeschlossen. Klicken Sie auf „Fertig stellen ‘, um den Installationsvorgang abzuschließen.

9. Sie können den Hive sehen Dienst in Cluster hinzugefügt über das Cloudera Manager-Dashboard .

10. Sie können den Hiveserver2 anzeigen in Instanzen von Hive . Wir haben Hiveserver2 hinzugefügt in master1 .

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

Hochverfügbarkeit auf Hive aktivieren

11. Fügen Sie als Nächstes die Hive-Rolle hinzu, indem Sie zu Cloudera Manager gehen –> Hive –> Aktionen –> Rolle hinzufügen Instanzen.

12. Wählen Sie die Server aus, auf denen Sie zusätzlichen Hiveserver2 platzieren möchten . Sie können mehr als zwei hinzufügen, es gibt keine Begrenzung. Hier fügen wir einen zusätzlichen Hiveserver2 hinzu in master2 .

13. Nachdem Sie den Server ausgewählt haben, klicken Sie auf „Weiter“. ’.

14. Ein Hiverserver2 wird zu den Hive-Instanzen hinzugefügt , müssen Sie es starten, indem Sie zu Cloudera Manager gehen –> Hive –> Instanzen –> (Hiveserver2 auswählen neu hinzugefügt) –> Aktion für Ausgewählte –> Starten .

15. Einmal Hiveserver2 gestartet auf master2 erhalten Sie den Status „Fertig ’. Klicken Sie auf Schließen .

16. Sie können beide Hiveserver2s anzeigen laufen.

Überprüfen der Hive-Verfügbarkeit

Wir können den Hiveserver2 verbinden durch die Beeline, die ein Thin Client und eine Befehlszeile ist. Es verwendet den JDBC-Treiber, um die Verbindung herzustellen.

17. Melden Sie sich beim Server an, auf dem Hive Gateway läuft.

[[email protected] ~]$ beeline

18. Geben Sie das JDBC ein Verbindungszeichenfolge zum Verbinden des Hiveserver2 . In diesem Zusammenhang der String wir erwähnen den Hiverserver2 (master2 ) mit der Standardportnummer 10000 . Diese Verbindungszeichenfolge stellt nur eine Verbindung zu Hiveserver2 her die auf master2 läuft .

beeline> !connect "jdbc:hive2://master1.tecmint.com:10000"

19. Führen Sie eine Beispielabfrage aus.

0: jdbc:hive2://master1.tecmint.com:10000> show databases;

Dies ist die standardmäßig eingebaute Datenbank.

20. Verwenden Sie den folgenden Befehl, um die Hive-Sitzung zu beenden.

0: jdbc:hive2://master1.tecmint.com:10000> !quit

21. Sie können den gleichen Weg verwenden, um Hiveserver2 zu verbinden läuft auf master2 .

beeline> !connect "jdbc:hive2://master2.tecmint.com:10000"

23. Wir können den Hiveserver2 verbinden in Zookeeper Discovery Modus. Bei dieser Methode müssen wir den Hiveserver2 nicht erwähnen in der Verbindungszeichenfolge verwenden wir stattdessen Zookeeper um den verfügbaren Hiveserver2 zu entdecken .

Hier können wir einen Load Balancer eines Drittanbieters verwenden, um die Last auf die verfügbaren Hiverserver2 auszugleichen . Die folgende Konfiguration ist erforderlich, um den Zookeeper Discovery Mode zu aktivieren indem Sie zu Cloudera Manager gehen –> Hive –> Konfiguration .

24. Suchen Sie als Nächstes nach der Eigenschaft „HiveServer2 Advanced Configuration Snippet “ und klicken Sie auf + Symbol, um die folgende Eigenschaft hinzuzufügen.

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

25. Sobald Sie die Eigenschaft eingegeben haben, klicken Sie auf "Änderungen speichern". ’.

26. Da wir Änderungen an der Konfiguration vorgenommen haben, müssen Sie die betroffenen Dienste neu starten, indem Sie auf das orange Farbsymbol klicken, um die Dienste neu zu starten.

27. Klicken Sie auf „Stale neu starten ‘Dienste.

28. Es stehen zwei Optionen zur Verfügung. Wenn sich der Cluster in der Live-Produktion befindet, müssen wir den fortlaufenden Neustart bevorzugen, um den Ausfall zu minimieren. Da wir neu installieren, können wir die zweite Option „Client-Konfiguration erneut bereitstellen auswählen “ und klicken Sie auf „Jetzt neu starten ’.

29. Sobald der Neustart erfolgreich abgeschlossen wurde, erhalten Sie den Status „Fertig ’. Klicken Sie auf „Fertig stellen ’, um den Vorgang abzuschließen.

30. Jetzt verbinden wir den Hiveserver2 mit Zookeeper Discovery Modus. Im JDBC connection, die Zeichenfolge, die wir benötigen, um den Zookeeper zu verwenden Server mit der Portnummer 2081 . Sammeln Sie die Zookeeper-Server, indem Sie zu Cloudera Manager gehen –> Tierpfleger –> Instanzen –> (Servernamen notieren).

Dies sind die drei Server mit Zookeeper, 2181 ist die Portnummer.

master1.tecmint.com:2181
master2.tecmint.com:2181
worker1.tecmint.com:2181

31. Gehen Sie jetzt in beeline .

[[email protected] ~]$ beeline

32. Geben Sie das JDBC ein Verbindungszeichenfolge wie unten erwähnt. Wir müssen den Service Discovery Mode erwähnen und Zookeeper-Namespace . ‘hiveserver2 ’ ist der Standard-Namespace von Hiveserver2.

beeline>!connect "jdbc:hive2://master1.tecmint.com:2181,master2.tecmint.com:2181,worker1.tecmint.com:2181/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2"

33. Jetzt ist die Sitzung mit Hiveserver2 verbunden läuft auf master1 . Führen Sie zur Validierung eine Beispielabfrage aus. Verwenden Sie den folgenden Befehl, um eine Datenbank zu erstellen.

0: jdbc:hive2://master1.tecmint.com:2181,mast> create database tecmint;

34. Verwenden Sie den folgenden Befehl, um die Datenbank aufzulisten.

0: jdbc:hive2://master1.tecmint.com:2181,mast> show databases;

35. Jetzt validieren wir die Hochverfügbarkeit im Zookeeper Discovery Mode . Gehen Sie zu Cloudera Manager und stoppen Sie den Hiveserver2 auf master1 die wir oben getestet haben.

Cloudera-Manager –> Hive –> Instanzen –> (wählen Sie Hiveserver2 auf master1 ) –> Aktion für ausgewählte –> Stopp .

36. Klicken Sie auf „Stopp“. ’. Nach dem Anhalten erhalten Sie den Status „Fertig ’. Überprüfen Sie den Hiveserver2 auf master1 indem Sie zu Hive navigieren –> Instanzen .

37. Gehen Sie in die Luftlinie und verbinden Sie den Hiveserver2 mit demselben JDBC Verbindungszeichenfolge mit Zookeeper Discovery Mode wie wir es in den obigen Schritten getan haben.

[[email protected] ~]$ beeline

beeline>!connect "jdbc:hive2://master1.tecmint.com:2181,master2.tecmint.com:2181,worker1.tecmint.com:2181/;serviceDiscoveryMode=zookeeper;zookeeperNamespace=hiveserver2"

Jetzt werden Sie mit Hiveserver2 verbunden läuft auf master2 .

38. Mit einer Beispielabfrage validieren.

0: jdbc:hive2://master1.tecmint.com:2181,mast> show databases;
Schlussfolgerung

In diesem Artikel haben wir die detaillierten Schritte zum Aufbau des Hive Data Warehouse besprochen Modell in unserem Cluster mit Hochverfügbarkeit . In einer Echtzeit-Produktionsumgebung können mehr als drei Hiveserver2 wird im Zookeeper Discovery Mode platziert aktiviert.

Hier alle Hiveserver2 registrieren sich bei Zookeeper unter einem gemeinsamen Namespace . Tierpfleger dynamisch entdeckt den verfügbaren Hiveserver2 und richtet die Hive-Sitzung ein.


Cent OS
  1. So installieren und konfigurieren Sie Nginx unter CentOS 7

  2. So installieren und konfigurieren Sie Redis unter CentOS 7

  3. So installieren und konfigurieren Sie GitLab unter CentOS 7

  4. So installieren und konfigurieren Sie Nextcloud mit Apache unter CentOS 7

  5. So installieren und konfigurieren Sie Monit.

So installieren Sie OwnCloud 8 mit Nginx und MariaDB auf CentOS 7

So installieren und konfigurieren Sie OpenLiteSpeed ​​mit PHP 7 unter CentOS 7

So installieren und konfigurieren Sie GitLab CE unter CentOS 8

So installieren und konfigurieren Sie Nagios 4.0.7 unter CentOS 7

So installieren und konfigurieren Sie ISPConfig CP unter CentOS 7

So installieren und konfigurieren Sie ownCloud auf CentOS 7