Zookeeper - Anwendungen

Zookeeper bietet eine flexible Koordinierungsinfrastruktur für verteilte Umgebungen. Das ZooKeeper-Framework unterstützt viele der besten Industrieanwendungen von heute. In diesem Kapitel werden einige der bemerkenswertesten Anwendungen von ZooKeeper erläutert.

Yahoo!

Das ZooKeeper-Framework wurde ursprünglich bei "Yahoo!" erstellt. Eine gut gestaltete verteilte Anwendung muss Anforderungen wie Datentransparenz, bessere Leistung, Robustheit, zentralisierte Konfiguration und Koordination erfüllen. Daher haben sie das ZooKeeper-Framework entwickelt, um diese Anforderungen zu erfüllen.

Apache Hadoop

Apache Hadoop ist die treibende Kraft für das Wachstum der Big Data-Branche. Hadoop verlässt sich bei der Konfigurationsverwaltung und -koordination auf ZooKeeper. Nehmen wir ein Szenario, um die Rolle von ZooKeeper in Hadoop zu verstehen.

Angenommen, a Hadoop cluster Brücken 100 or more commodity servers. Daher sind Koordinierungs- und Benennungsdienste erforderlich. Da die Berechnung einer großen Anzahl von Knoten erforderlich ist, muss jeder Knoten miteinander synchronisiert werden, wissen, wo auf Dienste zugegriffen werden muss und wie sie konfiguriert werden sollten. Zu diesem Zeitpunkt erfordern Hadoop-Cluster knotenübergreifende Dienste. ZooKeeper bietet die Einrichtungen fürcross-node synchronization und stellt sicher, dass die Aufgaben in allen Hadoop-Projekten serialisiert und synchronisiert werden.

Mehrere ZooKeeper-Server unterstützen große Hadoop-Cluster. Jeder Clientcomputer kommuniziert mit einem der ZooKeeper-Server, um seine Synchronisierungsinformationen abzurufen und zu aktualisieren. Einige der Echtzeitbeispiele sind -

  • Human Genome Project- Das Humangenomprojekt enthält Terabyte an Daten. Das Hadoop MapReduce-Framework kann verwendet werden, um den Datensatz zu analysieren und interessante Fakten für die menschliche Entwicklung zu finden.

  • Healthcare - Krankenhäuser können große Mengen von Patientenakten speichern, abrufen und analysieren, die normalerweise in Terabyte vorliegen.

Apache HBase

Apache HBase ist eine verteilte Open Source-NoSQL-Datenbank, die für den Echtzeit-Lese- / Schreibzugriff auf große Datenmengen verwendet wird und auf dem HDFS ausgeführt wird. HBase folgtmaster-slave architecturewo der HBase Master alle Slaves regiert. Slaves werden als bezeichnetRegion servers.

Die Installation einer verteilten HBase-Anwendung hängt von einem laufenden ZooKeeper-Cluster ab. Apache HBase verwendet ZooKeeper, um mithilfe von den Status verteilter Daten auf den Master- und Regionsservern zu verfolgencentralized configuration management und distributed mutexMechanismen. Hier sind einige Anwendungsfälle von HBase:

  • Telecom- Die Telekommunikationsbranche speichert Milliarden von Mobilfunkaufzeichnungen (ca. 30 TB / Monat) und der Zugriff auf diese Anrufaufzeichnungen in Echtzeit wird zu einer großen Aufgabe. Mit HBase können alle Datensätze einfach und effizient in Echtzeit verarbeitet werden.

  • Social network- Ähnlich wie in der Telekommunikationsbranche erhalten Websites wie Twitter, LinkedIn und Facebook über die von Benutzern erstellten Beiträge riesige Datenmengen. HBase kann verwendet werden, um aktuelle Trends und andere interessante Fakten zu finden.

Apache Solr

Apache Solr ist eine schnelle Open-Source-Suchplattform, die in Java geschrieben wurde. Es ist eine blitzschnelle, fehlertolerante verteilte Suchmaschine. Gebaut aufLuceneEs ist eine leistungsstarke Textsuchmaschine mit vollem Funktionsumfang.

Solr nutzt in großem Umfang alle Funktionen von ZooKeeper, wie z. B. Konfigurationsverwaltung, Leader-Wahl, Knotenverwaltung, Sperren und Synchronisieren von Daten.

Solr besteht aus zwei Teilen: indexing und searching. Bei der Indizierung werden die Daten in einem geeigneten Format gespeichert, damit sie später durchsucht werden können. Solr verwendet ZooKeeper sowohl zum Indizieren der Daten in mehreren Knoten als auch zum Suchen von mehreren Knoten. ZooKeeper bietet die folgenden Funktionen:

  • Hinzufügen / Entfernen von Knoten nach Bedarf

  • Replikation von Daten zwischen Knoten und anschließende Minimierung des Datenverlusts

  • Teilen von Daten zwischen mehreren Knoten und anschließendes Suchen von mehreren Knoten nach schnelleren Suchergebnissen

Einige der Anwendungsfälle von Apache Solr umfassen E-Commerce, Jobsuche usw.