Apache ZooKeeper

Un server open source che coordina in modo affidabile i processi distribuiti

Apache ZooKeeper fornisce servizi operativi per un cluster Hadoop. ZooKeeper fornisce un servizio di configurazione distribuita, un servizio di sincronizzazione e un registro dei nomi per i sistemi distribuiti. Le applicazioni distribuite utilizzano Zookeeper per archiviare e mediare gli aggiornamenti a importanti informazioni di configurazione.

Cosa fa ZooKeeper

ZooKeeper fornisce un'interfaccia e dei servizi molto semplici. ZooKeeper offre i seguenti vantaggi principali:

  • Rapidità. ZooKeeper è particolarmente veloce con i carichi di lavoro in cui le letture dei dati sono più frequenti delle scritture. Il rapporto lettura/scrittura ideale è di circa 10:1.
  • Affidabilità. ZooKeeper viene replicato su un set di host (chiamato ensemble) e i server sono consapevoli l'uno dell'altro. Finché è disponibile una massa critica di server, anche il servizio ZooKeeper resta disponibile. Non esiste un punto di vulnerabilità singolo (SPOF).
  • Semplicità. ZooKeeper mantiene uno spazio dei nomi gerarchico standard, simile a quello di file e directory.
  • Ordine.Il servizio mantiene un registro di tutte le transazioni, utilizzabile per le astrazioni di livello superiore, come le primitive di sincronizzazione.

Come funziona ZooKeeper

ZooKeeper consente ai processi distribuiti di coordinarsi tra loro attraverso uno spazio dei nomi gerarchico dei registri dei dati condiviso, chiamato znodes. Ogni znode è identificato da un percorso, in cui gli elementi del percorso sono separati da una barra obliqua ("/"). Oltre all'elemento radice, ogni znode ha un elemento di livello superiore; inoltre uno znode non può essere cancellato se ha degli elementi figlio.

È un sistema molto simile a un normale file system, ma reso molto affidabile dai servizi ridondanti offerti da ZooKeeper. Ogni servizio viene replicato su un set di macchine e tutti i set mantengono nella loro memoria un'immagine dell'albero dei dati e dei registri delle transazioni. I client si connettono a un singolo server ZooKeeper e mantengono una connessione TCP attraverso la quale inviano richieste e ricevono risposte.

Questa architettura consente a ZooKeeper di fornire throughput e disponibilità elevati con bassa latenza, sebbene la dimensione del database che ZooKeeper può gestire sia limitata dalla memoria.

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.