GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare Apache ZooKeeper su Debian 10

Apache Zookeeper è un servizio gratuito e open source per sistemi distribuiti che ti aiuta a gestire un ampio set di host. È un servizio centralizzato utilizzato per il mantenimento delle informazioni di configurazione, dei nomi e dei servizi di gruppo. È scritto in Java e consente agli sviluppatori di concentrarsi sulla creazione di funzionalità software senza preoccuparsi della natura distribuita dell'applicazione. Apache ZooKeeper utilizzato più comunemente nei carichi di lavoro "dominanti in lettura" in cui le letture sono molto più comuni delle scritture. Viene fornito con un ricco set di funzionalità tra cui sincronizzazione, messaggi ordinati, serializzazione, affidabilità, atomicità, elaborazione rapida e molti altri. Ha un meccanismo di blocco e sincronizzazione che ti aiuta nel ripristino automatico dei guasti durante la connessione di altre applicazioni distribuite. Il progetto Zookeeper è uno dei progetti di maggior successo della fondazione Apache. Molte aziende hanno adottato Zookeeper per creare sistemi distribuiti ad alta disponibilità su larga scala.

In questo tutorial, ti mostreremo come configurare un cluster Apache Zookeeper a nodo singolo sul server Debian 10.

Prerequisiti

  • Un server che esegue Debian 10 con 2 GB di RAM.
  • Sul tuo server è configurata una password di root.

Per iniziare

Prima di iniziare, si consiglia di aggiornare il server con l'ultima versione. Puoi aggiornarlo usando il seguente comando:

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

Una volta aggiornato il server, riavvialo per implementare le modifiche.

Installa Java

Apache Zookeeper è scritto nel linguaggio Java. Quindi dovrai installare Java nel tuo sistema. Per impostazione predefinita, l'ultima versione di Java è disponibile nel repository predefinito di Debian 10. Puoi installarlo eseguendo il seguente comando:

apt-get install default-jdk -y

Dopo aver installato Java, verificare la versione installata di Java utilizzando il seguente comando:

java --version

Dovresti ottenere il seguente output:

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)

Una volta terminato, puoi procedere alla creazione di un utente di sistema per Zookeeper.

Crea un utente di sistema per Zookeeper

È una buona idea creare un utente dedicato per eseguire il servizio Zookeeper. Ciò migliorerà la tua sicurezza e gestibilità.

Innanzitutto, esegui il comando seguente per creare un utente zookeeper con la directory home:

useradd zookeeper -m

Quindi, imposta la shell predefinita per l'utente zookeeper utilizzando il seguente comando:

usermod --shell /bin/bash zookeeper

Quindi, imposta una password per l'utente zookeeper utilizzando il seguente comando:

passwd zookeeper

Quindi, aggiungi l'utente zookeeper al gruppo sudo:

usermod -aG sudo zookeeper

A questo punto, hai creato e configurato l'utente Zookeeper. Ora puoi procedere con il download di Zookeeper.

Scarica Zookeeper

Innanzitutto, dovrai scaricare l'ultima versione di Apache Zookeeper dal suo sito Web ufficiale. Al momento della stesura di questo articolo, l'ultima versione di Apache Zookeeper è la 3.5.6.

Per scaricarlo, cambia la directory in /opt ed esegui il seguente comando:

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

Una volta completato il download, estrai il file scaricato con il seguente comando:

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

Quindi, rinomina la directory estratta in zookeeper e concedi le autorizzazioni appropriate:

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

Successivamente, dovrai creare una directory di dati per Zookeeper per memorizzare tutti i dati di configurazione e di stato. Puoi creare sul filesystem locale o sul filesystem remoto secondo le tue necessità.

Puoi creare una directory di dati usando il seguente comando:

mkdir -p /data/zookeeper

Quindi, cambia la proprietà della directory dei dati in utente zookeeper:

chown -R zookeeper:zookeeper /data/zookeeper

A questo punto, hai scaricato Zookeeper e creato una directory di dati per esso. Ora puoi procedere con la configurazione di Zookeeper.

Configura Zookeeper

Tutti i file di configurazione di Zookeeper si trovano all'interno della directory /opt/zookeeper/conf/. Puoi creare un file di configurazione di Zookeeper all'interno della directory /opt/zookeeper/conf/ usando il seguente comando:

nano /opt/zookeeper/conf/zoo.cfg

Aggiungi le seguenti righe:

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

Salva e chiudi il file quando hai finito.

Dove:

  • tickTime :questa opzione imposta la durata di un segno di spunta in millisecondi.
  • DatiDir :Specifica la directory dei dati in cui memorizzare i dati di Zookeeper.
  • Portaclient :Specifica la porta utilizzata per ascoltare le connessioni client.
  • maxClientCnxns :utilizzato per limitare il numero massimo di connessioni client.

Nota :I parametri sopra indicati sono per lo sviluppo e il test. Puoi modificarli in base alle tue esigenze.

A questo punto, hai configurato Zookeeper. Ora puoi essere pronto per avviare il server Zookeeper.

Avvia e prova il server Zookeeper

Puoi avviare il server Zookeeper usando il seguente comando:

/opt/zookeeper/bin/zkServer.sh start

Dovresti ottenere il seguente output:

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

Successivamente, puoi connetterti al server Zookeeper sulla porta 2181 utilizzando il seguente comando:

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

Una volta connesso, dovresti vedere il seguente output:

[zk: 127.0.0.1:2181(CONNECTED) 0]

Quindi, esegui il comando di aiuto per ottenere un elenco di comandi che puoi eseguire dal client.

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

Dovresti vedere il seguente output:

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

Dopo il test, esci dalla sessione client utilizzando il comando quit:

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

Ora puoi interrompere il servizio Zookeeper con il seguente comando:

/opt/zookeeper/bin/zkServer.sh stop

Dovresti vedere il seguente comando:

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

A questo punto, hai avviato e testato con successo il server Zookeeper.

Crea un file di servizio Systemd per Zookeeper

Successivamente, dovrai creare un file di servizio systemd per gestire il servizio Zookeeper utilizzando systemd.

Puoi crearlo con il seguente comando:

nano /etc/systemd/system/zookeeper.service

Aggiungi le seguenti righe:

[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

Salva e chiudi il file quando hai finito. Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia il servizio Zookeeper e abilitalo all'avvio dopo il riavvio del sistema utilizzando il seguente comando:

systemctl start zookeeper
systemctl enable zookeeper

Ora puoi verificare lo stato di Zookeeper usando il seguente comando:

systemctl status zookeeper

Dovresti vedere il seguente output:

? 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.

Ora puoi gestire facilmente il servizio Zookeeper con systemd.

Conclusione

Congratulazioni! hai installato e configurato correttamente un cluster Zookeeper a nodo singolo sul server Debian 10. Questa configurazione è molto utile per ambienti di sviluppo e test. Spero che ora tu abbia abbastanza conoscenze per configurare un cluster Zookeeper a nodo singolo. Sentiti libero di chiedermi se hai domande.


Debian
  1. Come installare Apache Maven su Debian 10

  2. Come installare osquery su Debian 10

  3. Come installare Apache ZooKeeper su Ubuntu 20.04

  4. Come installare Apache Cassandra su Debian 11

  5. Come installare Apache Maven su Debian 11

Come installare Apache Spark su Debian 11

Come installare HAProxy su Debian 11

Come installare Apache Guacamole su Debian 11

Come installare Jenkins su Debian 11

Come installare Cockpit su Debian 11

Come installare Apache Tomcat su Debian 11