ZooKeeper adalah layanan koordinasi terdistribusi ber-Ketersediaan tinggi yang menyediakan fitur-fitur seperti konfigurasi terdistribusi, sinkronisasi, penamaan, dan registrasi.
Cara kerja
Kluster ZooKeeper terdiri dari jumlah node ganjil. Salah satu node dipilih sebagai leader melalui protokol pemilihan internal, sedangkan node lainnya bertindak sebagai follower. Saat data ditulis ke kluster ZooKeeper, leader mengoordinasikan permintaan penulisan tersebut. Operasi penulisan dianggap berhasil hanya jika lebih dari separuh node memberikan suara dan mengembalikan ACK. Dengan demikian, kluster ZooKeeper tetap tersedia selama lebih dari separuh nodenya aktif. Jika leader gagal secara tidak terduga, kluster memicu pemilihan ulang leader, dan salah satu node lain dipilih sebagai leader baru, sehingga menjamin Ketersediaan tinggi kluster.
Struktur data

ZooKeeper merupakan layanan koordinasi, sehingga znode digunakan untuk menyimpan data koordinasi, seperti informasi status layanan dan konfigurasi. Penggunaan ZooKeeper sebagai sistem file untuk menyimpan data dalam jumlah besar tidak diperbolehkan.