Developing Distributed Applications Using ZooKeeper

Login to enroll
  • Course Number
  • Classes Start
    Any Time, Self-Paced

About This Course

ZooKeeper is a 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.

ZooKeeper allows developers to handle these challenges to create robust distributed applications. ZooKeeper comes with a set of guarantees: sequential consistency, atomicity, single system image, reliability, and timeliness. This course will help you learn how to use ZooKeeper to keep your Big Data applications running smoothly despite the challenges of operating in a complex distributed environment.


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


  • The minimum passing mark for the course is 60%, where the review questions are worth 40% and the final exam is worth 60% of the course mark.
  • You have 1 attempt to take the exam with multiple attempts per question.
  • Course Staff

    Course Staff Image #1

    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.

    Course Staff Image #2

    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.

    Frequently Asked Questions

    What web browser should I use?

    The Open edX platform works best with current versions of Chrome, Firefox or Safari, or with Internet Explorer version 9 and above.

    See our list of supported browsers for the most up-to-date information.

    CodyClear Messages

    Failed to send message. Retry.

    Chat With Cody