Your browser is out of date

Update your browser to view this website correctly. Update my browser now

×

Apache ZooKeeper

Serveur open source qui coordonne les processus distribués

Apache ZooKeeper propose des services opérationnels pour les clusters Hadoop. Il fournit un service de configuration distribuée, un autre dédié à la synchronisation, ainsi qu'un registre de dénomination pour les systèmes distribués. Les applications distribuées utilisent ZooKeeper pour stocker et arbitrer les mises à jour importantes concernant les informations de configuration.

Objectif de ZooKeeper

L'interface et les services ZooKeeper sont extrêmement simples. Ses principaux atouts sont les suivants :

  • Rapidité –ZooKeeper est particulièrement efficace avec les charges de travail pour lesquelles la lecture des données domine l'écriture. Le ratio idéal de lecture par rapport à l'écriture est de 10:1.
  • Fiabilité –ZooKeeper est répliqué sur un ensemble d'hôtes appelé « ensemble », et les serveurs se connaissent tous. Tant que ces derniers sont disponibles en quantité suffisante, le service ZooKeeper restera accessible. Il n'y a donc pas de point individuel de défaillance.
  • Simplicité –ZooKeeper fait appel à un espace de noms hiérarchique partagé, composé de registres semblables à des fichiers et répertoires.
  • Ordre –Le service conserve un journal des transactions qui peut très bien être utilisé pour implémenter des abstractions de niveau supérieur, comme les primitives de synchronisation.

Fonctionnement de ZooKeeper

ZooKeeper permet aux processus distribués de se coordonner par le biais d'un espace de noms hiérarchique partagé de registres de données, appelés ZNodes. Chaque ZNode est identifié par un chemin dont les éléments sont séparés par une barre oblique (« / »). En dehors de sa racine, chaque ZNode possède un parent. Il ne peut être supprimé s'il a des enfants.

Bien qu'il soit très proche des systèmes de fichiers normaux, ZooKeeper est bien plus fiable en raison de ses services redondants. En effet, un service est répliqué sur un ensemble de machines, et chacune conserve un instantané de l'arbre de données et des journaux de transactions. Les clients peuvent ainsi se connecter à un serveur ZooKeeper unique et maintenir une connexion TCP via laquelle ils envoient les requêtes et reçoivent les réponses.

Cette architecture permet à ZooKeeper de proposer un débit et un niveau de disponibilité élevés avec une latence faible ; néanmoins, la taille de la base de données que ZooKeeper peut gérer est limitée par la mémoire.

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.