Cara Install dan Konfigurasi Apache ZooKeeper di Debian 10

Apache Zookeeper adalah layanan free and open-source untuk sistem terdistribusi yang membantu Anda mengelola sejumlah besar host. Zookeeper adalah layanan terpusat yang digunakan untuk memelihara informasi terkait konfigurasi, penamaan dan layanan grup.

Apache Zookeeper ditulis dalam bahasa pemrograman Java dan memungkinkan pengembang untuk fokus pada membangun fitur perangkat lunak tanpa khawatir tentang sifat terdistribusi aplikasi. Apache ZooKeeper paling sering digunakan dalam beban kerja “/read-dominant/” di mana proses membaca data jauh lebih umum daripada menulis data.

Muncul dengan serangkaian fitur yang kaya termasuk, /Synchronization, Ordered Messages, Serialization, Reliability, Atomicity, Fast Processing/ dan banyak lagi. Apache Zookeeper memiliki mekanisme penguncian dan sinkronisasi yang membantu Anda dalam /fail recovery” /secara otomatis” saat terhubung dengan aplikasi terdistribusi lainnya. Proyek Zookeeper adalah salah satu proyek paling sukses dari yayasan Apache. Banyak perusahaan mengadopsi Zookeeper untuk menciptakan sistem terdistribusi yang tersedia dalam skala besar.

Dalam tutorial ini, kami akan menunjukkan kepada Anda cara mengatur cluster single-node Apache Zookeeper pada server Debian 10.

*Persyaratan Tutorial*

· Server yang menjalankan Debian 10 dengan 2GB RAM. · Masuk sebagai root atau user dengan hak sudo

*Sebelum Mulai*

Pertama, disarankan untuk memperbarui sistem Anda dengan versi terbaru. Anda dapat melakukannya dengan menjalankan perintah berikut:

sudo apt update && sudo apt upgrade -y

Setelah sistem diperbarui, restart sistem untuk menerapkan perubahan konfigurasi.

*Install Java*

Apache Zookeeper adalah aplikasi berbasis Java. Jadi, Kita perlu install Java ke sistem. Secara default, versi terbaru Java tersedia di repositori default Debian 10. Anda dapat menginstalnya dengan menjalankan perintah berikut:

apt-get install default-jdk -y

Setelah instalasi selesai, periksa versi Java dengan perintah berikut:

java –version

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)

Setelah selesai, Anda dapat melanjutkan untuk membuat system user untuk Zookeeper.

*Buat” System User untuk Zookeeper*

Merupakan ide bagus untuk membuat user yang tugasnya hanya untuk menjalankan layanan Zookeeper. Ini akan meningkatkan keamanan dan mempermudah pengelolaan.

Pertama, jalankan perintah berikut untuk membuat user zookeeper dengan direktori home:

useradd zookeeper -m

Selanjutnya, atur shell default untuk user zookeeper menggunakan perintah berikut:

usermod –shell /bin/bash zookeeper

Selanjutnya, tetapkan kata sandi untuk user zookeeper menggunakan perintah berikut:

passwd zookeeper

Selanjutnya, tambahkan user zookeeper ke grup sudo:

usermod -aG sudo zookeeper

Pada titik ini, Anda telah membuat dan mengonfigurasi user Zookeeper. Anda sekarang dapat melanjutkan untuk download Zookeeper.

*Download Zookeeper*

Pertama, download versi terbaru dari Apache Zookeeper dari situs resminya. Pada saat menulis artikel ini, versi terbaru dari Apache Zookeeper adalah 3.5.6.

Untuk download, ubah direktori ke /opt dan jalankan perintah wget berikut:

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

Setelah download selesai, ekstrak file yang diunduh dengan perintah berikut:

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

Selanjutnya, ganti nama direktori yang diekstrak dengan perintah mv menjadi zookeeper dan berikan izin yang tepat:

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

Selanjutnya, kita perlu membuat direktori data untuk Zookeeper untuk menyimpan semua data konfigurasi dan status. Anda dapat membuatnya di sistem file lokal atau sistem file jarak jauh sesuai kebutuhan.

Anda dapat membuat direktori data menggunakan perintah berikut:

mkdir -p /data/zookeeper

Selanjutnya, ubah kepemilikan direktori data menjadi pengguna zookeeper:

chown -R zookeeper:zookeeper /data/zookeeper

Pada titik ini, Anda telah mengunduh Zookeeper dan membuat direktori data untuknya. Anda sekarang dapat melanjutkan untuk mengkonfigurasi Zookeeper.

*Konfigurasi Zookeeper*

Zookeeper dan semua file konfigurasi terletak di dalam direktori /opt/zookeeper/conf/. Anda dapat membuat file konfigurasi Zookeeper di dalam direktori /opt/zookeeper/conf/” menggunakan perintah berikut:

nano /opt/zookeeper/conf/zoo.cfg

tambahkan baris berikut :

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

Simpan dan tutup setelah selesai.

Penjelasan untuk Perintah di atas

· *tickTime*: Opsi ini mengatur panjang /tick/ dalam milliseconds. · *dataDir*: Direktori data untuk menyimpan data Zookeeper. · *clientPort*: Tentukan port yang digunakan untuk listen koneksi klien. · *maxClientCnxns*: Digunakan untuk membatasi jumlah maksimum koneksi klien.

/*Catatan*/: Parameter di atas untuk pengembangan dan pengujian. Anda dapat mengubahnya sesuai dengan kebutuhan Anda.

Pada titik ini, Anda telah mengonfigurasi Zookeeper. Anda sekarang dapat siap untuk memulai server Zookeeper.

*Mulai dan Uji Server Zookeeper*

Anda dapat memulai server Zookeeper menggunakan perintah berikut:

/opt/zookeeper/bin/zkServer.sh start

Anda akan mendapatkan output berikut:

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

Selanjutnya, Anda dapat terhubung ke server Zookeeper pada port 2181 menggunakan perintah berikut:

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

Setelah terhubung, Anda akan melihat output berikut:

[zk: 127.0.0.1:2181(CONNECTED) 0]

Selanjutnya, jalankan perintah help untuk mendapatkan daftar perintah yang dapat Anda jalankan dari klien.

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

Anda akan melihat output berikut:

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

Setelah pengujian, keluar dari sesi klien menggunakan perintah berhenti:

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

Anda sekarang dapat menghentikan layanan Zookeeper dengan perintah berikut:

/opt/zookeeper/bin/zkServer.sh stop

Anda akan melihat output berikut:

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

Pada titik ini, Anda telah berhasil start dan menguji server Zookeeper.

*Buat File Systemd untuk Zookeeper*

Selanjutnya, Anda perlu membuat file /systemd service/ untuk mengelola layanan Zookeeper menggunakan systemd.

Buka text editor nano”  dan buat file zookeeper.service dengan perintah berikut:

nano /etc/systemd/system/zookeeper.service

Tambahkan baris berikut:

[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

Simpan dan tutup file setelah Anda selesai. Kemudian, reload systemd daemon dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, start layanan Zookeeper dan aktifkan untuk memulai setelah sistem reboot menggunakan perintah berikut:

systemctl start zookeeper systemctl enable zookeeper

Kemudian, verifikasi status Zookeper menggunakan perintah berikut :

systemctl status zookeeper

Anda akan melihat output berikut:

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

Sekarang, Anda dapat dengan mudah mengelola layanan Zookeeper dengan systemd.

*Kesimpulan*

Selamat! Anda telah berhasil install dan konfigurasi Zookeeper cluster single node di server Debian 10. Pengaturan ini sangat berguna untuk lingkungan pengembangan dan pengujian.

Leave a Reply

Your email address will not be published.