GNU/Linux >> Tutoriels Linux >  >> Debian

Comment installer Apache ZooKeeper sur Debian 10

Apache Zookeeper est un service gratuit et open source pour les systèmes distribués qui vous aide à gérer un grand nombre d'hôtes. Il s'agit d'un service centralisé utilisé pour maintenir les informations de configuration, les noms et les services de groupe. Il est écrit en Java et permet aux développeurs de se concentrer sur la création de fonctionnalités logicielles sans se soucier de la nature distribuée de l'application. Apache ZooKeeper est le plus couramment utilisé dans les charges de travail "à lecture dominante" où les lectures sont beaucoup plus courantes que les écritures. Il est livré avec un riche ensemble de fonctionnalités, notamment la synchronisation, les messages ordonnés, la sérialisation, la fiabilité, l'atomicité, le traitement rapide et bien d'autres. Il dispose d'un mécanisme de verrouillage et de synchronisation qui vous aide dans la récupération automatique en cas d'échec tout en connectant d'autres applications distribuées. Le projet Zookeeper est l'un des projets les plus réussis de la fondation Apache. De nombreuses entreprises ont adopté Zookeeper pour créer des systèmes distribués hautement disponibles à grande échelle.

Dans ce didacticiel, nous allons vous montrer comment configurer un cluster Apache Zookeeper à nœud unique sur le serveur Debian 10.

Prérequis

  • Un serveur exécutant Debian 10 avec 2 Go de RAM.
  • Un mot de passe root est configuré sur votre serveur.

Mise en route

Avant de commencer, il est recommandé de mettre à jour votre serveur avec la dernière version. Vous pouvez le mettre à jour à l'aide de la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois votre serveur mis à jour, redémarrez-le pour appliquer les modifications.

Installer Java

Apache Zookeeper est écrit en langage Java. Vous devrez donc installer Java sur votre système. Par défaut, la dernière version de Java est disponible dans le référentiel par défaut de Debian 10. Vous pouvez l'installer en exécutant la commande suivante :

apt-get install default-jdk -y

Après avoir installé Java, vérifiez la version installée de Java à l'aide de la commande suivante :

java --version

Vous devriez obtenir le résultat suivant :

openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment (build 11.0.5+10-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.5+10-post-Debian-1deb10u1, mixed mode, sharing)

Une fois que vous avez terminé, vous pouvez procéder à la création d'un utilisateur système pour Zookeeper.

Créer un utilisateur système pour Zookeeper

C'est une bonne idée de créer un utilisateur dédié pour exécuter le service Zookeeper. Cela améliorera votre sécurité et votre gérabilité.

Tout d'abord, exécutez la commande suivante pour créer un utilisateur zookeeper avec le répertoire personnel :

useradd zookeeper -m

Ensuite, définissez le shell par défaut pour l'utilisateur zookeeper à l'aide de la commande suivante :

usermod --shell /bin/bash zookeeper

Ensuite, définissez un mot de passe pour l'utilisateur zookeeper à l'aide de la commande suivante :

passwd zookeeper

Ensuite, ajoutez l'utilisateur zookeeper au groupe sudo :

usermod -aG sudo zookeeper

À ce stade, vous avez créé et configuré l'utilisateur Zookeeper. Vous pouvez maintenant procéder au téléchargement de Zookeeper.

Télécharger Zookeeper

Tout d'abord, vous devrez télécharger la dernière version d'Apache Zookeeper à partir de son site officiel. Au moment de la rédaction de cet article, la dernière version d'Apache Zookeeper est la 3.5.6.

Pour le télécharger, changez le répertoire en /opt et exécutez la commande suivante :

cd /opt
wget https://archive.apache.org/dist/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz

Une fois le téléchargement terminé, extrayez le fichier téléchargé avec la commande suivante :

tar -xvzf apache-zookeeper-3.5.6-bin.tar.gz

Ensuite, renommez le répertoire extrait en zookeeper et donnez les autorisations appropriées :

mv apache-zookeeper-3.5.6-bin zookeeper
chown -R zookeeper:zookeeper /opt/zookeeper

Ensuite, vous devrez créer un répertoire de données pour que Zookeeper stocke toutes les données de configuration et d'état. Vous pouvez créer sur le système de fichiers local ou sur le système de fichiers distant selon vos besoins.

Vous pouvez créer un répertoire de données à l'aide de la commande suivante :

mkdir -p /data/zookeeper

Ensuite, changez la propriété du répertoire de données en utilisateur zookeeper :

chown -R zookeeper:zookeeper /data/zookeeper

À ce stade, vous avez téléchargé Zookeeper et créé un répertoire de données pour celui-ci. Vous pouvez maintenant procéder à la configuration du Zookeeper.

Configurer Zookeeper

Zookeeper tous les fichiers de configuration sont situés dans le répertoire /opt/zookeeper/conf/. Vous pouvez créer un fichier de configuration Zookeeper dans le répertoire /opt/zookeeper/conf/ à l'aide de la commande suivante :

nano /opt/zookeeper/conf/zoo.cfg

Ajoutez les lignes suivantes :

tickTime=2500
dataDir=/data/zookeeper
clientPort=2181
maxClientCnxns=80

Enregistrez et fermez le fichier lorsque vous avez terminé.

Où :

  • tickTime  :Cette option définit la longueur d'un tick en millisecondes.
  • répertoiredonnées  :Spécifiez le répertoire de données pour stocker les données Zookeeper.
  • clientPort  :spécifiez le port utilisé pour écouter les connexions client.
  • maxClientCnxns :Utilisé pour limiter le nombre maximum de connexions client.

Remarque :Les paramètres ci-dessus sont destinés au développement et aux tests. Vous pouvez les modifier selon vos besoins.

À ce stade, vous avez configuré Zookeeper. Vous pouvez maintenant être prêt à démarrer le serveur Zookeeper.

Démarrer et tester le serveur Zookeeper

Vous pouvez démarrer le serveur Zookeeper à l'aide de la commande suivante :

/opt/zookeeper/bin/zkServer.sh start

Vous devriez obtenir le résultat suivant :

/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

Ensuite, vous pouvez vous connecter au serveur Zookeeper sur le port 2181 en utilisant la commande suivante :

/opt/zookeeper/bin/zkCli.sh -server 127.0.0.1:2181

Une fois connecté, vous devriez voir la sortie suivante :

[zk: 127.0.0.1:2181(CONNECTED) 0]

Ensuite, exécutez la commande help pour obtenir une liste des commandes que vous pouvez exécuter à partir du client.

[zk: 127.0.0.1:2181(CONNECTED) 0] help

Vous devriez voir le résultat suivant :

ZooKeeper -server host:port cmd args
	addauth scheme auth
	close 
	config [-c] [-w] [-s]
	connect host:port
	create [-s] [-e] [-c] [-t ttl] path [data] [acl]
	delete [-v version] path
	deleteall path
	delquota [-n|-b] path
	get [-s] [-w] path
	getAcl [-s] path
	history 
	listquota path
	ls [-s] [-w] [-R] path
	ls2 path [watch]
	printwatches on|off
	quit 
	reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
	redo cmdno
	removewatches path [-c|-d|-a] [-l]
	rmr path
	set [-s] [-v version] path data
	setAcl [-s] [-v version] [-R] path acl
	setquota -n|-b val path
	stat [-w] path
	sync path

Après le test, quittez la session client à l'aide de la commande quit :

[zk: 127.0.0.1:2181(CONNECTED) 0] quit

Vous pouvez maintenant arrêter le service Zookeeper avec la commande suivante :

/opt/zookeeper/bin/zkServer.sh stop

Vous devriez voir la commande suivante :

/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

À ce stade, vous avez démarré et testé avec succès le serveur Zookeeper.

Créer un fichier de service Systemd pour Zookeeper

Ensuite, vous devrez créer un fichier de service systemd pour gérer le service Zookeeper à l'aide de systemd.

Vous pouvez le créer avec la commande suivante :

nano /etc/systemd/system/zookeeper.service

Ajoutez les lignes suivantes :

[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

Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, rechargez le démon systemd avec la commande suivante :

systemctl daemon-reload

Ensuite, démarrez le service Zookeeper et activez-le après le redémarrage du système à l'aide de la commande suivante :

systemctl start zookeeper
systemctl enable zookeeper

Vous pouvez maintenant vérifier le statut de Zookeeper à l'aide de la commande suivante :

systemctl status zookeeper

Vous devriez voir le résultat suivant :

? zookeeper.service - Zookeeper Daemon
   Loaded: loaded (/etc/systemd/system/zookeeper.service; disabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-12-29 15:12:39 UTC; 8min ago
     Docs: http://zookeeper.apache.org
  Process: 9229 ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg (code=exited, status=0/SUCCESS)
 Main PID: 9245 (java)
    Tasks: 29 (limit: 2359)
   Memory: 49.7M
   CGroup: /system.slice/zookeeper.service
           ??9245 java -Dzookeeper.log.dir=/opt/zookeeper/bin/../logs -Dzookeeper.log.file=zookeeper-zookeeper-server-debian10.log -Dzookeeper.

Dec 29 15:12:38 debian10 systemd[1]: Starting Zookeeper Daemon...
Dec 29 15:12:38 debian10 zkServer.sh[9229]: /usr/bin/java
Dec 29 15:12:38 debian10 zkServer.sh[9229]: ZooKeeper JMX enabled by default
Dec 29 15:12:38 debian10 zkServer.sh[9229]: Using config: /opt/zookeeper/conf/zoo.cfg
Dec 29 15:12:39 debian10 zkServer.sh[9229]: Starting zookeeper ... STARTED
Dec 29 15:12:39 debian10 systemd[1]: Started Zookeeper Daemon.

Désormais, vous pouvez facilement gérer le service Zookeeper avec systemd.

Conclusion

Toutes nos félicitations! vous avez installé et configuré avec succès un cluster Zookeeper à nœud unique sur le serveur Debian 10. Cette configuration est très utile pour les environnements de développement et de test. J'espère que vous avez maintenant suffisamment de connaissances pour configurer un cluster Zookeeper à nœud unique. N'hésitez pas à me demander si vous avez des questions.


Debian
  1. Comment installer Apache Maven sur Debian 10

  2. Comment installer osquery sur Debian 10

  3. Comment installer Apache ZooKeeper sur Ubuntu 20.04

  4. Comment installer Apache Cassandra sur Debian 11

  5. Comment installer Apache Maven sur Debian 11

Comment installer Apache Spark sur Debian 11

Comment installer HAProxy sur Debian 11

Comment installer Apache Guacamole sur Debian 11

Comment installer Jenkins sur Debian 11

Comment installer Cockpit sur Debian 11

Comment installer Apache Tomcat sur Debian 11