This course is unique in that it teaches the best practices and caveats of designing modern concurrent Big Data systems. ZooKeeper is the ideal tool to understand and practice the theory, and to reason about system performance, fault tolerance, and stability.
ZooKeeper is the defacto standard for coordinating multiple components in distributed systems. In this class, we will learn ZooKeeper architecture, design, and implementation. Then we will go through the standard ZooKeeper design patterns and their implementation.
In recent year, most of the design work with ZooKeeper is done through Curator. Curator makes the implementation of the design patterns – called recipes – much easier and more robust. We will work with Elections (such as Leader Latch and Leader Election), Locks, Barriers, and more.
The course includes a balance of theory and lab work.
Duration: 3 days
Audience: Developers, administrators, architects.
Experience and background in software development and administration
Amazon EC2 servers will be provided students for installation, administration and lab work. Students would need a SSH client and a browser to access the cluster.
Zero Install : There is no need to install Solr software on students’ machines! (although it is possible)
- ZooKeeper fundamentals
- Distribute coordination system
- Design goals and results
- Common coordination tasks
- ZooKeeper Java and C API
- Goals and capabilities
- Differences, pros and cons
- ZooKeeper environment
- Track and react to ZooKeeper changes
- Handling failures (network, apps)
- Concurrency issues
- Curator and Exhibitor
- Goals and design
- Installation and configuration
- Advantages and current trends
- Curator recipes and use cases
- Centralized initialization
- ZooKeeper internals