Cognitive Class

Developing Distributed Applications Using ZooKeeper

What happens when the animals in the zoo get loose? Not sure, but don’t let it happen to you. This course is explains the ZooKeeper framework that is in use to develop and manage distributed applications for Big Data.

Start the Free Course

About This Course

Learn about ZooKeeper's coordination service that provides sets of tools to help manage distributed applications.

Building distributed applications comes with challenges that are intrinsic to distributed applications itself, which includes maintaining configuration information, groups, naming, and synchronization.

  • Handle these challenges to create robust distributed applications. ZooKeeper comes with a set of guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness.
  • Learn how to use ZooKeeper to keep your Big Data applications running smoothly despite the challenges of operating in a complex distributed environment.


  • Module 1 - Introduction to ZooKeeper
    1. Describe distributed systems and the purpose of Zookeeper
    2. Describe the ZooKeeper consistency guarantees
    3. Describe the basics of Zookeeper components
    4. Describe the application of Zookeeper in Hadoop ecosystem and usage in other real-world scenarios.
  • Module 2 - The ZooKeeper Data Model
    1. Understand ZooKeeper Components in detail
    2. Use ZooKeeper CLI to run commands and interact with ZooKeeper service
  • Module 3 - Programming and Advanced Topics
    1. Manage ZooKeeper’s ACL and authentication to control permissions to the znodes
    2. Handle the various failure modes of ZooKeeper
    3. List the various ZooKeeper bindings and API
    4. Use the Java API to create a ZooKeeper application
    5. Use various ZooKeeper clients to work with ZooKeeper
    6. Understand how ZooKeeper works with ZooKeeper Atomic Broadcast (zab)
    7. Maintain your ZooKeeper environment with ZooKeeper administration


  • This course is free.
  • It is self-paced.
  • It can be taken at any time.
  • It can be audited as many times as you wish.
  • Labs can be performed on the Cloud, or using a 64-bit system. If using a 64-bit system, you can install the required software (Linux-only), or use the supplied VMWare image. More details are provided in the section "Labs setup".


Course Staff

Aaron Ritchie

Aaron Ritchie has worked in the Information Management division of IBM for over 8 years and has held a variety of roles within the Center of Excellence and Education groups. Aaron has worked as an IT Specialist, Learning Developer, and Project Manager. He is certified in multiple IBM products and enjoys working with an assortment of open-source technologies. Aaron holds a Bachelor of Science in Computer Science degree from Clarkson University and a Master of Science in Information Technology degree from WPI.

Henry L. Quach

Henry L. Quach is a Software Engineer with IBM for 7 years. He has worked in the Information Management education where he has developed numerous applications including an internal education tracking system that is widely used within the organization. He is a learning technology developer actively involved in creating and deploying eLearning courses. He is also part of the Mobile Innovation Community developing mobile frameworks for Information Management courses. Henry has a Bachelor of Science in Computer Science and a Master of Science in Software Engineering from San Jose State University.

Red Hat Ansible Certified Content for IBM Z Now Available for DevelopersLearn More