What is the purpose of Zookeeper in distributed systems?

What is the purpose of Zookeeper in distributed systems?

Approach: Describe it as a coordination service.

A centralized service for maintaining configuration information, naming, and providing distributed synchronization and group services (e.g., leader election in Kafka or HBase).

Follow-up: What consensus algorithm does it use?

Key concepts: consensus, leader election, configuration.