In this tutorial, we will show you how to install Apache ZooKeeper on Ubuntu 20.04 LTS. For those of you who didn’t know, ZooKeeper is a software project by Apache Software Foundation that provides high-performance shared data, maintaining configuration information, naming, providing synchronization, and providing group services. In addition, distributed systems rely on ZooKeeper to implement consensus, leader election, and group management.
This article assumes you have at least basic knowledge of Linux, know how to use the shell, and most importantly, you host your site on your own VPS. The installation is quite simple and assumes you are running in the root account, if not you may need to add ‘sudo
‘ to the commands to get root privileges. I will show you the step-by-step installation of the Apache ZooKeeper on Ubuntu 20.04 (Focal Fossa). You can follow the same instructions for Ubuntu 18.04, 16.04, and any other Debian-based distribution like Linux Mint.
Prerequisites
- A server running one of the following operating systems: Ubuntu 20.04, 18.04, and any other Debian-based distribution like Linux Mint or elementary OS.
- It’s recommended that you use a fresh OS install to prevent any potential issues.
- SSH access to the server (or just open Terminal if you’re on a desktop).
- A
non-root sudo user
or access to theroot user
. We recommend acting as anon-root sudo user
, however, as you can harm your system if you’re not careful when acting as the root.
Install Apache ZooKeeper on Ubuntu 20.04 LTS Focal Fossa
Step 1. First, make sure that all your system packages are up-to-date by running the following apt
commands in the terminal.
sudo apt update sudo apt upgrade
Step 2. Installing Java.
Zookeeper is written in Java and requires this programming language to work. You can install it with the following command:
sudo apt install default-jdk
Verify the installed version of Java:
java --version
Step 3. Create a User for Zookeeper.
We need to create a user that will run all the ZooKeeper services:
useradd zookeeper -m
Next, set password for this user and add it to the sudo group with the following command:
usermod --shell /bin/bash zookeeper passwd zookeeper usermod -aG sudo zookeeper
Then, change the ownership of this directory:
mkdir /zookeeper chown -R zookeeper:zookeeper /zookeeper
Step 4. Installing Apache ZooKeeper on Ubuntu 20.04.
By default, Apache ZooKeeper is available on Ubuntu 20.04 base repository. Now run the following command below to download the latest ZooKeeper to your Ubuntu system:
wget https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz
Next, extract the downloaded file:
tar -xvzf apache-zookeeper-3.8.0-bin.tar.gz mv apache-zookeeper-3.8.0-bin zookeeper
Give the zookeeper user ownership of that file by running:
chown -R zookeeper:zookeeper /opt/zookeeper
Step 5. Configure ZooKeeper Standalone Mode.
Now we create a ZooKeeper configuration file to sets up ZooKeeper in standalone mode:
nano /opt/zookeeper/conf/zoo.cfg
Add the following lines:
tickTime=2500 dataDir=/zookeeper clientPort=2181 maxClientCnxns=80
Save and close the file, then start the ZooKeeper service with the following command:
cd /opt/zookeeper bin/zkServer.sh start
Step 6. Create a Systemd Service File for ZooKeeper.
Now we create a systemd service file to manage the ZooKeeper service:
nano /etc/systemd/system/zookeeper.service
Add the following lines:
[Unit] Description=Zookeeper Daemon Documentation=http://zookeeper.apache.org Requires=network.target After=network.target [Service] Type=forking WorkingDirectory=/opt/zookeeper User=zookeeper Group=zookeeper ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg ExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfg ExecReload=/opt/zookeeper/bin/zkServer.sh restart /opt/zookeeper/conf/zoo.cfg TimeoutSec=30 Restart=on-failure [Install] WantedBy=default.target
Save and close the file, then reload the systemd daemon to apply the configuration changes:
sudo systemctl daemon-reload sudo systemctl start zookeeper sudo systemctl enable zookeeper
Finally, change the ownership of the ZooKeeper and data directory with the following command:
chown -R zookeeper:zookeeper /opt/zookeeper chown -R zookeeper:zookeeper /zookeeper
Congratulations! You have successfully installed Apache ZooKeeper. Thanks for using this tutorial for installing the Apache ZooKeeper on Ubuntu 20.04 LTS Focal Fossa system. For additional help or useful information, we recommend you check the official Apache website.