Apache ZooKeeper

Ein Open-Source-Server, der verteilte Prozesse zuverlässig koordiniert

Apache ZooKeeper bietet Operational Services für einen Hadoop-Cluster. ZooKeeper stellt einen verteilten Konfigurationsdienst, einen Synchronisierungsdienst und eine Namen-Registry für verteilte Systeme zur Verfügung. Die verteilten Anwendungen nutzen ZooKeeper zur Speicherung und geben Updates zu wichtigen Konfigurationsinformationen weiter.

Was genau macht ZooKeeper

ZooKeeper bietet eine sehr einfache Oberfläche und Dienste. ZooKeeper bietet die folgenden wesentlichen Vorteile:

  • Schnell. ZooKeeper ist besonders schnell bei Workloads, bei denen Daten häufiger gelesen als geschrieben werden. Das ideale Lese-/Schreibverhältnis liegt bei 10:1.
  • Zuverlässig. ZooKeeper wird über eine Reihe von Hosts (als Ensemble bezeichnet) repliziert, und die Server wissen voneinander. Solange entscheidende Servern verfügbar sind, ist auch der ZooKeeper-Service verfügbar. Es gibt keine einzige Fehlerquelle.
  • Einfach. ZooKeeper verwaltet einen hierarchischen Standardnamensraum, ähnlich wie Dateien und Verzeichnisse.
  • Geordnet. Der Service führt eine Aufzeichnung aller Transaktionen, die für übergeordnete Abstraktionen wie Synchronisationsprimitive verwendet werden können.

So funktioniert ZooKeeper

Mit ZooKeeper können verteilte Prozesse über einen gemeinsam genutzten hierarchischen Namensraum von Datenregistern, den so genannten Znodes, sich aufeinander abstimmen. Jeder ZNode ist durch einen Pfad gekennzeichnet, wobei die Pfadelemente durch einen Schrägstrich („/“) voneinander getrennt sind. Abgesehen vom Stamm hat jeder Znode einen übergeordneten Knoten, und ein Znode kann nicht gelöscht werden, wenn er über untergeordnete Knoten verfügt.

Dies ähnelt einem normalen Dateisystem, jedoch bietet ZooKeeper überragende Zuverlässigkeit durch redundante Dienste. Ein Dienst wird über eine Reihe von Computern repliziert und verwaltet jeweils ein speicherinternes Image des Datenbaums und der Transaktionsprotokolle. Clients stellen eine Verbindung zu einem einzelnen ZooKeeper-Server her und unterhalten eine TCP-Verbindung, über die sie Anfragen senden und Antworten empfangen.

Dank dieser Architektur kann ZooKeeper einen hohen Durchsatz und eine hohe Verfügbarkeit bei geringer Latenz bereitstellen. Die Größe der Datenbank, die ZooKeeper verwalten kann, ist jedoch durch den Arbeitsspeicher begrenzt.

Your form submission has failed.

This may have been caused by one of the following:

  • Your request timed out
  • A plugin/browser extension blocked the submission. If you have an ad blocking plugin please disable it and close this message to reload the page.