Cara Menginstall Apache ZooKeeper di FreeBSD 14.1

· 2 min read

ZooKeeper dibuat sebagai bagian dari ekosistem Apache Hadoop untuk menyederhanakan pengelolaan kluster besar dan merupakan bagian penting dari banyak

Apache ZooKeeper adalah layanan terpusat untuk manajemen konfigurasi, sinkronisasi sistem terdistribusi serta pengelompokan dan penamaan. Layanan ZooKeeper sering digunakan dalam sistem terdistribusi untuk mengkoordinasikan dan mengelola status yang perlu dibagikan antara node kluster. ZooKeeper dirancang agar mudah diprogram, dan menggunakan model data yang dirancang berdasarkan struktur pohon direktori sistem berkas yang umum. Layanan ini berjalan di Java dan memiliki binding untuk Java dan C.

Layanan ZooKeeper dibuat sebagai bagian dari ekosistem Apache Hadoop untuk menyederhanakan pengelolaan kluster besar dan merupakan bagian penting dari banyak sistem terdistribusi, seperti Apache Kafka, HBase, Solr, dan lainnya. ZooKeeper menyelesaikan sinkronisasi, manajemen konfigurasi, manajemen kunci terdistribusi, dan kepemimpinan dalam aplikasi terdistribusi.

Layanan koordinasi terkenal sangat sulit untuk melakukan konfigurasi secara tepat dan benar. Layanan ini sangat rentan terhadap kesalahan seperti kondisi balapan dan kebuntuan. Motivasi di balik ZooKeeper adalah untuk membebaskan aplikasi terdistribusi dari tanggung jawab untuk mengimplementasikan layanan koordinasi dari awal.


freebsd apache zookeeper arsitektur



1. Mengapa ZooKeeper Sangat Diperlukan

Apache Zookeeper adalah layanan konfigurasi dan sinkronisasi sumber terbuka yang terdistribusi beserta registri penamaan untuk aplikasi terdistribusi. Dalam sistem terdistribusi, sering kali diperlukan sinkronisasi status antara beberapa node. Misalnya:
  • Pastikan hanya satu node yang menjalankan tugas tertentu (kepemimpinan).
  • Kelola konfigurasi yang harus konsisten di semua node.
  • Deteksi perubahan dalam kluster (misalnya, menambahkan atau menghapus node).
  • Dukungan untuk penguncian terdistribusi guna mencegah akses bersamaan ke sumber daya bersama.

a. Arsitektur ZooKeeper:

Terminologi dasar yang perlu Anda ketahui sebelum mengenal arsitektur zookeeper adalah:
  • Node: Sistem yang terpasang pada kluster.
  • ZNode: Node yang statusnya diperbarui oleh node lain dalam kluster.
  • Aplikasi Klien: Alat yang berinteraksi dengan aplikasi terdistribusi.
  • Aplikasi Server: Memungkinkan aplikasi klien berinteraksi menggunakan antarmuka umum.
Layanan dalam kluster direplikasi dan disimpan pada satu set server (disebut "ensemble"), yang masing-masing menyimpan basis data dalam memori yang berisi seluruh pohon data status serta log transaksi dan snapshot yang disimpan secara terus-menerus. Beberapa aplikasi klien dapat terhubung ke server, dan setiap klien menyimpan koneksi TCP yang melaluinya ia mengirim permintaan dan detak jantung serta menerima respons dan peristiwa pengawasan untuk pemantauan.

2. Spesifikasi Sistem Yang Digunakan

OS: FreeBSD 14.1-STABLE
Hostname: ns4
IP Address: 192.168.5.71
ZooKeeper Version: apache-zookeeper-3.8.3
JAVA version: 
openjdk version "20.0.2" 2023-07-18
OpenJDK Runtime Environment (build 20.0.2+9-1)
OpenJDK 64-Bit Server VM (build 20.0.2+9-1, mixed mode, sharing)


3. Cara Menginstal Apache ZooKeeper di FreeBSD

Apache ZooKeeper memastikan ketersediaan, konsistensi, dan keandalan yang tinggi dengan mengelola konfigurasi, sinkronisasi, dan penemuan layanan secara efisien di beberapa node. Pada sistem FreeBSD repositori ZooKeeper telah tersedia, anda dapat langsung menginstalnya melalui paket PKG atau sistem Ports.

Namun sebelum anda menginstal ZooKeeper di FreeBSD, pastikan semua dependensi yang dibutuhkan ZooKeeper telah terinstal dengan benar. Berikut adalah dependensi yang harus anda instal.

Instal dependensi
root@ns4:~ # pkg install libzookeeper

a. Cara Instal Java OpenJDK

ZooKeeper ditulis dalam bahasa pemrograman Java dan memerlukan bahasa pemrograman tersebut untuk dapat berjalan dengan baik. Pada FreeBSD repositori Java OpenJDK telah tersedia, untuk panduan instalasi Java OpenJDK anda dapat membaca artikel sebelumnya.

Jadi, pada artikel ini kami tidak menjelaskan proses instalasi Java OpenJDK di FreeBSD, anda dapat membaca artikel di atas yang menjelaskan proses instalasi Java.

b. Panduan Instal Apache ZooKeeper
Repositori ZooKeeper talah ditambahkan ke sistem FreeBSD sejak tahun 2012, sehingga sangat memudahkan anda untuk menginstalnya. Karena telah tersedianya repositori ZooKeeper, anda hanya sedikit melakukan perubahan seperti mengaktifkannya di file "/etc/rc.conf".

Instal zookeeper
root@ns4:~ # pkg install zookeeper

4. Konfigurasikan ZooKeeper dalam Mode Mandiri

Untuk keperluan pengujian atau pengembangan, ZooKeeper berjalan dalam mode Standalone. Mode Standalone adalah menginstal ZooKeeper pada satu mesin.

a. Mengatur id mesin


Machine id
root@ns4:~ # echo 1 > /var/db/zookeeper/myid1
root@ns4:~ # echo 2 > /var/db/zookeeper/myid2
root@ns4:~ # echo 3 > /var/db/zookeeper/myid3
Setelah itu, jalankan perintah "chown". Perintah ini digunakan untuk mengubah pemilik dan/atau grup file atau direktori dalam sistem file. Perintah ini memungkinkan pengguna untuk memberikan hak akses dan kontrol yang lebih spesifik ke file atau direktori yang ada.

Jalankan perintah chown
root@ns4:~ # chown -R zookeeper:zookeeper /var/db/zookeeper
root@ns4:~ # chown -R zookeeper:zookeeper /var/log/zookeeper

b. Aktifkan dan Jalankan zookeeper saat boot

Untuk mengaktifkan ZooKeeper saat boot, anda harus menambahkan sckrip di bawah ini di file "/etc/rc.conf".

Aktifkan zookeeper
root@ns4:~ # echo 'zookeeper_enable="YES"' >> /etc/rc.conf

c. Panduan Membuat file konfigurasi

File konfigurasi sangat penting untuk mengatur aplikasi agar berjalan sesuai keinginan kita. Secara default file konfigurasi "ZooKeeper" terletak di folder "/usr/local/etc/zookeeper".

Salin file zoo.cfg.sample
root@ns4:~ # cp /usr/local/etc/zookeeper/zoo.cfg.sample /usr/local/etc/zookeeper/zoo.cfg
Setelah itu, Anda mengetik atau mengaktifkan skrip di bawah ini pada file "/usr/local/etc/zookeeper/zoo.cfg".

/usr/local/etc/zookeeper/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/db/zookeeper
clientPort=2181
server.1=192.168.5.71:2888:3888
server.2=192.168.5.72:2888:3888
server.3=192.168.5.73:2888:3888

d. Cara Menjalankan ZooKeeper

Langkah terakhir adalah menjalankan ZooKeeper dengan perintah "service".

Jalankan zookeeper
root@ns4:~ # service zookeeper restart
root@ns4:~ # service zookeeper status
Setelah server aktif dan berjalan, Anda dapat terhubung ke server menggunakan perintah zkCli.sh dan mencoba beberapa perintah untuk memverifikasi bahwa semuanya berfungsi seperti yang diharapkan.

Menghubungkan ke server zookeeper
root@ns4:~ # zkCli.sh -server 192.168.5.71:2181
Jika dilakukan dengan tidak benar, sistem terdistribusi dapat dengan cepat menjadi kekacauan yang tidak dapat dikelola yang sulit digunakan dan bahkan lebih sulit untuk di-debug. Karena kumpulan data menjadi lebih besar dan tuntutan beban kerja menjadi lebih intens, kita dengan cepat mendekati titik waktu ketika untuk menyelesaikan lebih banyak pekerjaan, satu-satunya pilihan Anda adalah mendistribusikan pemrosesan ke sebanyak mungkin mesin di jaringan.

Karena pergeseran teknologi ini, tidak mengherankan bahwa Zookeeper dengan cepat menjadi proyek sumber terbuka yang populer dan telah memperoleh adopsi yang begitu luas. Jika Anda merasa perlu memperkenalkan fungsionalitas yang kompleks ke dalam aplikasi Anda, Zookeeper akan dengan cepat menjadi bagian penting dari infrastruktur dalam tumpukan perangkat lunak Anda.
Subscribe on LinkedIn Cara Menginstall Apache ZooKeeper di FreeBSD 14.1

Enclosures Link: Cara Menginstall Apache ZooKeeper di FreeBSD 14.1

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar