Rumahweb Journal
Banner - Apache Kafka Adalah - Definisi, Fungsi dan Cara Install di VPS Linux

Apache Kafka: Definisi, Fungsi dan Cara Install di Ubuntu

Apache Kafka adalah sebuah platform distribusi streaming yang dirancang untuk mengatasi masalah pengolahan data secara real-time dalam skala besar. Lalu apa fungsi dan bagaimana cara install Apache Kafka di VPS Linux? Selengkapnya bisa Anda simak pada artikel berikut.

Pada awal era BigData, pengolahan data secara realtime dan berkelanjutan dapat menggunakan sistem berbasis query seperti Hive dan Mapreduce. Namun, seiring berjalannya waktu, kebutuhan sistem semakin meningkat, seperti membutuhkan mekanisme publish/broker dan sistem saat itu belum mampu memenuhi kebutuhan tersebut secara efisien.

Mengetahui permasalahan ini, tim dari perusahaan LinkedIn mengembangkan sebuah sistem pesan publish/subscribe yang kemudian diberi nama Apache Kafka.

Apa itu Apache Kafka?

Kafka adalah salah satu open-source yang dikembangkan oleh Apache Software Foundation dan dirilis pertama kali pada tahun 2011. Sejak tahun 2011, Apache Kafka banyak dipilih oleh administrator untuk aplikasi yang membutuhkan transfer data secara cepat, andal, dan skalabilitas yang tinggi.

Apache Kafka merupakan sistem pesan distribusi yang di desain khusus untuk mengelola aliran data dalam lingkup yang sangat besar. Kafka dapat berfungsi untuk mengirim, menyimpan, dan memproses aliran data secara real-time, dengan toleransi kesalahan yang tinggi dan latensi yang sangat rendah. 

Pada dasarnya, Apache Kafka adalah sebuah message broker yang berperan sebagai penghubung antara produsen (producer) dan konsumen (consumer) untuk pengiriman pesan.

Namun, perlu dicatat bahwa dalam proses pengiriman pesan, Kafka berfungsi sebagai pengirim saja (send-only), yang berarti hanya mengirimkan pesan dari produsen ke konsumen. Kelebihan dari Kafka adalah kecepatannya dalam mengirimkan data.

Terminologi Apache Kafka

Terminologi Apache Kafka
Terminologi Apache Kafka – image by knoldus blog

Berikut adalah terminologi dan susunan dari Apache Kafka :

  • Topic : Topic adalah suatu kategori penyusunan data di Kafka, seperti feed/tempat pesan yang nantinya akan dipublikasikan.
  • Producer : Sistem yang berfungsi mengirimkan data/topic ke customer sebagai partisi² topik.
  • Customer : Sistem yang menerima pesan dari producer dan mengolah data dari topik yang dikirimkan.
  • Partisi : Berfungsi untuk memecah topik ke bagian yang lebih kecil, dan mendistribusikan ke broker yang ada.
  • Broker : Broker adalah server di Cluster Kafka yang berfungsi untuk menyimpan partisi topik yang ada. Broker menyimpan dan menyebarkan data ke broker lainnya yang tersedia.
  • Cluster : Merupakan sistem dari beberapa broker yang bekerjasama memproses suatu data (grup broker).
  • Offset : Identifikasi unik dari  sebuah topik, yang berfungsi untuk melacak lokasi sebuah data, dan memastikan pesan yang ada tidak ada yang terlewati.
  • Replikasi : Proses penyebaran salinan data dari pusat broker ke broker lainnya, agar semua broker yang ada memiliki isi data yang sama dari server pusat/central.

Fungsi Apache Kafka 

Apache Kafka memiliki berbagai fungsi dalam pengolahan data secara realtime, berikut adalah beberapa fungsi Apache Kafka secara detail :

1. Streaming Data

Apache Kafka adalah platform streaming data yang dapat dipergunakan untuk mengirim, menyimpan, dan memproses aliran data secara real-time. Data yang dikirimkan oleh producer dikirim dalam sebuah topik-topik Kafka, dan konsumen (costumer) akan membaca data tersebut untuk diproses atau disimpan.

2. Publikasi Massage/publish

Kerangka Kafka menggunakan sistem publish/subscribe yang optimal. Costumer dapat berlangganan ke suatu topik untuk membaca data, memungkinkan agar Costumer mendapatkan update secara berkala untuk data yang selalu sama/independen.

3. Skalabilitas

Apache Kafka dirancang untuk menangani jutaan pesan per detik. Apache Kafka dapat bekerja dengan baik dalam suatu kelompok atau cluster, sehingga dengan bertambahnya volume dan kecepatan aliran data yang harus diproses, kita hanya perlu menambah mesin baru saja pada cluster tanpa haru melakukan vertical-scaling.  

4. Replikasi Data

Kafka dapat dioptimalkan dengan fungsi replikasi, berarti kafka memiliki suatu server central yang berfungsi mengirimkan ke server backup yang ada, apabila server utama mengalami kegagalan, maka kinerja akan dialihkan ke server backup yang tersedia.

BACA JUGA : Replikasi Database: Pengertian, Fungsi dan Cara Membuatnya

5. Integrasi BigData

Apache Kafka telah diintegrasikan dengan berbagai sistem BigData, Seperti Apache Spark, Apache Flink, dan Apache Storm. Dengan ini kita dapat mengintegrasikan Kafka dengan sistem lainnya untuk memenuhi analisis data.

Fungsi-fungsi ini menjadikan Apache Kafka sebagai salah satu platform streaming data terkemuka yang digunakan oleh perusahaan² besar untuk mengelola aliran data dalam skala besar dengan cepat, andal, efektif, dan skalabel.

Cara Install Apache Kafka di Ubuntu

Kali ini kita akan melakukan instalasi Apache Kafka pada VPS KVM dengan OS Ubuntu.

Step 1. Persiapan Sistem

Apache Kafka memiliki beberapa persyaratan sistem yang perlu dipenuhi untuk menginstal dan menjalankannya dengan baik. Berikut adalah persyaratan sistem untuk Apache Kafka:

  • OS Linux Ubuntu / CentOS7
  • JDK minimal Versi 11
  • Ram Minimal 4GB (tergantung aliran data yang ditangani oleh Kafka)
  • Scala language

Step 2. Cara Install Apache Kafka di Ubuntu

1. Installasi OpenJDK dan Scala dengan perintah sebagai berikut.

sudo apt update
sudo apt upgrade -y
sudo apt install openjdk-17-jdk
sudo apt install scala

Cek apakah Jdk dan Scala telah berhasil terinstall dengan perintah:

java -version

scala -version

2. Konfigurasi User 

Buat user kafka, serta berikan akses untuk user kafka sebagai sudoer.

adduser kafka

usermod -aG sudo kafka

3. Download dan ekstrak package Kafka, sesuaikan agar kafka di ekstrak pada folder home user kafka.

su - kafka

wget https://www-us.apache.org/dist/kafka/2.2.0/kafka_2.12-2.2.0.tgz -O kafka.tgz

tar -xzvf kafka.tgz --stripe 1

4. Membuat Systemd Kafka agar dapat dilakukan eksekusi seperti start, stop, restart pada layanan Kafka.

Apache Kafka membutuhkan layanan bernama zookeeper untuk dapat berfungsi. Selanjutnya kita akan melakukan konfigurasi systemd untuk zookeeper yang terdapat pada path /etc/systemd/system/zookeeper.serv

nano /etc/systemd/system/zookeeper.serv

Paste code berikut:

[Unit]
Requires=network.target remote-fs.target
After=network.target remote-fs.target
[Service]
Type=simple
User=kafka
ExecStart=/home/kafka/bin/zookeeper-server-start.sh /home/kafka/config/zookeeper.properties
ExecStop=/home/kafka/bin/zookeeper-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

Setelah disimpan, kita akan membuat konfigurasi system unit untuk kafka

sudo nano /etc/systemd/system/kafka.service

Paste code berikut:

[Unit]

Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
User=kafka
ExecStart=/bin/sh -c '/home/kafka/bin/kafka-server-start.sh /home/kafka/config/server.properties > /home/kafka/kafka.log 2>&1'
ExecStop=/home/kafka/bin/kafka-server-stop.sh
Restart=on-abnormal

[Install]
WantedBy=multi-user.target

5. Konfigurasi Firewall Kafka.

Pastikan untuk server vps menggunakan firewall sebagai keamanan lalulintas data dan open port, kita dapat menggunakan firewall ufw atau menggunakan csf firewall

Open port layanan Kafka berikut :

2181 (untuk zookeeper) 
9192 (untuk Kafka)

6. Konfigurasi topic Kafka.

Pada setting default Kafka, kita tidak diizinkan untuk menghapus topic, maka akan kita ubah terlebih dahulu konfigurasi sebagai berikut

nano ~/config/server.properties

Tambahkan code berikut:

delete.topic.enable = true

Start dan jalankan Apache Kafka dengan perintah berikut:

sudo systemctl enable kafka

sudo systemctl start kafka

7. Membuat Topic Kafka.

Pada panduan kali ini, kita akan membuat Topic yang bernama “rumahweb” dengan konfigurasi Partisi tunggal.

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic rumahweb

Output  :

Created topic "rumahweb".

Kita dapat melihat topic yang kita buat sebelumya melalui zookeeper.

bin/kafka-topics.sh --list --zookeeper localhost:2181

Output :
rumahweb

Pengujian Apache Kafka

Test 1. Mengirim pesan menggunakan Kafka.

Untuk mengirimkan massage secara broadcast maka kita harus menjalankan console terminal sebagai “producer” dan memilih topic sebagai target, Kita akan mengirimkan pesan broadcast marketing layanan Vps RumahWeb

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic rumahweb

>VPS KVM Rumahweb

>vps murah dengan datcenter terbaik (konten)

>

Test 2. Pengujian pesan melalui consumer.

Login sebagai consumer untuk melihat data yang telah dikirimkan oleh Kafka.

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic rumahweb --from-beginning


Output :
VPS KVM Rumahweb
vps murah dengan datcenter terbaik

Sampai step ini, kafka telah berhasil diinstal dan dijalankan. kita dapat mengintegrasikan Kafka ke dalam aplikasi program lainnya menggunakan klien Kafka.

Demikian artikel kami tentang apa itu apache kafka hingga cara install di VPS Ubuntu. Semoga bermanfaat.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 5 / 5. Vote count: 3

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Hosting Murah

Andika Dwi Setyawan

Dika is a System Administrator, passionate about Linux, Networking, Cyber security and much love with Arista. Menyediakan Jasa Konfigurasi VPS terlengkap & Murah = eepisat.com