{"data":{"coursesJson":{"slug":"zookeeper","title":"ZooKeeper","pyramid":"Service Discovery","heroText":"centralized open-source server for maintaining and managing configuration information","heroImage":"/courses/zookeeper/icon.png","aboutTopic":"About Apache Zookeeper","aboutText1":"What is Zookeeper? It provides a centralized infrastructure and services that enable synchronization across an Apache™ Hadoop® cluster.","aboutText2":"Apache ZooKeeper is a software project of the Apache Software Foundation. It is essentially a centralized service for distributed systems to a hierarchical key-value store, which is used to provide a distributed configuration service, synchronization service, and naming registry for large distributed systems.","aboutPoints":["Managing the Cluster","Updating the Node’s Status","Automatic Failure Recovery"],"aboutImage":"/courses/zookeeper/about.png","techTitle":"ZooKeeper Topics","techSubtitle":"The following are the things covered under ZooKeeper.","techTitle1":"ZooKeeper Java Example","techTitle2":"ZooKeeper Recipes","techTitle3":"Administrators & Operators","techTitle4":"Contributors","techTitle5":"ZooKeeper Overview","techTitle6":"BookKeeper","techDesc1":"a simple Zookeeper client appplication, written in Java","techDesc2":"higher level solutions to common problems in distributed applications.","techDesc3":"Documents for Administrators and Operations Engineers of ZooKeeper Deployments","techDesc4":"Documents for Developers Contributing to the ZooKeeper Open Source Project.","techDesc5":"Technical Overview Documents for Client Developers, Adminstrators, and Contributors","techDesc6":"BookKeeper is a highly-available system that implements high-performance write-ahead logging. It uses ZooKeeper for metadata, which is the main reason for being a ZooKeeper contrib.","courseSubtitle":"The following are the course contents offered for Apache Zookeeper","courseContents":["A Crash Course in Apache ZooKeeper","Understanding the Inner Workings of Apache ZooKeeper","Programming with Apache ZooKeeper","Performing Common Distributed System Tasks","Administering Apache ZooKeeper","Decorating ZooKeeper with Apache Curator","ZooKeeper in Action"],"subContents":[["Defining a distributed system","Why coordination in a distributed system is so challenging","Introducing Apache ZooKeeper","Getting hands-on with Apache ZooKeeper","Download and installation","Downloading","Installing","Configuration","Starting the ZooKeeper server","Connecting to ZooKeeper with a Java-based shell","Connecting to ZooKeeper with a C-based shell","Setting up a multinode ZooKeeper cluster","Starting the server instances","Running multiple node modes for ZooKeeper"],["Defining a distributed system","Why coordination in a distributed system is so challenging","Introducing Apache ZooKeeper","Getting hands-on with Apache ZooKeeper","Download and installation","Downloading","Installing","Configuration","Starting the ZooKeeper server","Connecting to ZooKeeper with a Java-based shell","Connecting to ZooKeeper with a C-based shell","Setting up a multinode ZooKeeper cluster","Starting the server instances","Running multiple node modes for ZooKeeper"],["A top-down view of the ZooKeeper service","The ZooKeeper data model","Types of znodes","The persistent znode","The ephemeral znode","The sequential znode","Keeping an eye on znode changes – ZooKeeper Watches","The ZooKeeper operations","Watches and ZooKeeper operations","The ZooKeeper access control lists","The ZooKeeper stat structure","Understanding the inner working of ZooKeeper","The quorum mode","Client establishment of sessions with the ZooKeeper service","Implementation of ZooKeeper transactions","Phase 1 – leader election","Phase 2 – atomic broadcast","Local storage and snapshots"],["Using the Java client library","Preparing your development environment","The first ZooKeeper program","Implementing a Watcher interface","Example – a cluster monitor","The C client library","Getting started with the C API","Example – the znode data watcher","Python client bindings","A watcher implementation"],["ZooKeeper recipes","Barrier","Queue","Lock","Leader election","Group membership","Two-phase commit","Service discovery"],["Configuring a ZooKeeper server","Minimum configuration","Storage configuration","Network configuration","Configuring a ZooKeeper ensemble","Configuring a quorum","Quota and authorization","ZooKeeper best practices","Monitoring a ZooKeeper instance","Four-letter words","Java Management Extensions"],["Curator components","Curator client","Curator framework","Curator recipes","Curator utilities","Curator extensions","Exhibitor"],["Projects powered by ZooKeeper","Apache BookKeeper","Apache Hadoop","Apache HBase","Apache Helix","OpenStack Nova","Organizations powered by ZooKeeper","Yahoo!","Facebook","eBay","Twitter","Netflix","Zynga","Nutanix","VMware vSphere Storage Appliance"]]}},"pageContext":{"isCreatedByStatefulCreatePages":false,"id":"d5f23810-7199-5018-aabd-5dc2920d916b"}}