ZooKeeper is a centralized service for maintaining configuration information,
naming, providing distributed synchronization, and providing group services.
All of these kinds of services are used in some form or another by distributed
applications. Each time they are implemented there is a lot of work that goes
into fixing the bugs and race conditions that are inevitable. Because of the
difficulty of implementing these kinds of services, applications initially
usually skimp on them ,which make them brittle in the presence of change and
difficult to manage. Even when done correctly, different implementations of
these services lead to management complexity when the applications are
deployed.
This script requires a 'zookeeper' user/group to exist before running.
The recommended UID/GID is 322. You can create these like so:
groupadd -g 322 zookeeper
useradd -u 322 -g 322 -c "Zookeeper user" -d /var/lib/zookeeper -s /bin/sh zookeeper