Apache Kafka adalah platform streaming terdistribusi. Ini berguna untuk membangun saluran data streaming real-time untuk mendapatkan data antara sistem atau aplikasi. Fitur berguna lainnya adalah aplikasi streaming waktu nyata yang dapat mengubah aliran data atau bereaksi terhadap aliran data.
Tutorial ini akan membantu Anda menginstal sistem Linux Apache Kafka CentOS 8 atau RHEL 8.
Prasyarat
- Sistem yang baru diinstal disarankan untuk mengikuti penyiapan server awal.
- Akses shell ke sistem CentOS 8 dengan akun hak istimewa sudo.
Langkah 1 – Instal Java
Anda harus menginstal Java di sistem Anda untuk menjalankan Apache Kafka. Anda dapat menginstal OpenJDK pada mesin Anda dengan menjalankan perintah berikut. Juga, instal beberapa alat lain yang diperlukan.
sudo dnf install java-11-openjdk wget vim
Langkah 2 – Unduh Apache Kafka
Unduh file biner Apache Kafka dari situs web unduhan resminya. Anda juga dapat memilih mirror terdekat untuk diunduh.
wget http://www-us.apache.org/dist/kafka/2.7.0/kafka_2.13-2.7.0.tgz
Kemudian ekstrak file arsip
tar xzf kafka_2.13-2.7.0.tgz mv kafka_2.13-2.7.0 /usr/local/kafka
Langkah 3 – Siapkan File Unit Kafka Systemd
CentOS 8 menggunakan systemd untuk mengelola status layanannya. Jadi kita perlu membuat file unit systemd untuk layanan Zookeeper dan Kafka. Yang membantu kami mengelola layanan Kafka untuk memulai/menghentikan.
Pertama, buat file unit systemd untuk Zookeeper dengan perintah di bawah ini:
vim /etc/systemd/system/zookeeper.service
Tambahkan di bawah contnet:
[Unit] Description=Apache Zookeeper server Documentation=http://zookeeper.apache.org Requires=network.target remote-fs.target After=network.target remote-fs.target [Service] Type=simple ExecStart=/usr/bin/bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties ExecStop=/usr/bin/bash /usr/local/kafka/bin/zookeeper-server-stop.sh Restart=on-abnormal [Install] WantedBy=multi-user.target
Simpan file dan tutup.
Selanjutnya, untuk membuat file unit systemd Kafka menggunakan perintah berikut:
vim /etc/systemd/system/kafka.service
Tambahkan konten di bawah ini. Pastikan untuk menyetel JAVA_HOME . yang benar jalur sesuai Java yang diinstal pada sistem Anda.
[Unit] Description=Apache Kafka Server Documentation=http://kafka.apache.org/documentation.html Requires=zookeeper.service [Service] Type=simple Environment="JAVA_HOME=/usr/lib/jvm/jre-11-openjdk" ExecStart=/usr/bin/bash /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties ExecStop=/usr/bin/bash /usr/local/kafka/bin/kafka-server-stop.sh [Install] WantedBy=multi-user.target
Simpan file dan tutup.
Muat ulang daemon systemd untuk menerapkan perubahan.
systemctl daemon-reload
Langkah 4 – Mulai Server Kafka
Kafka membutuhkan ZooKeeper jadi pertama-tama, mulai server ZooKeeper di sistem Anda. Anda dapat menggunakan skrip yang tersedia dengan Kafka untuk memulai instance ZooKeeper node tunggal.
sudo systemctl start zookeeper
Sekarang mulai server Kafka dan lihat status berjalan:
sudo systemctl start kafka sudo systemctl status kafka
Semua selesai. Anda telah berhasil menginstal Kafka di CentOS 8. Bagian selanjutnya dari tutorial ini akan membantu Anda membuat topik di kluster Kafka dan bekerja dengan produsen Kafka dan layanan konsumen.
Langkah 5 – Membuat Topik di Apache Kafka
Apache Kafka menyediakan beberapa skrip shell untuk bekerja di dalamnya. Pertama, buat topik bernama “testTopic ” dengan partisi tunggal dengan replika tunggal:
cd /usr/local/kafka bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic Created topic testTopic.
Faktor replikasi menjelaskan berapa banyak salinan data yang akan dibuat. Saat kami menjalankan dengan satu instance, pertahankan nilai ini 1.
Tetapkan opsi partisi sebagai jumlah broker yang Anda inginkan untuk membagi data Anda. Saat kami menjalankan dengan satu broker, pertahankan nilai ini 1.
Anda dapat membuat beberapa topik dengan menjalankan perintah yang sama seperti di atas. Setelah itu, Anda dapat melihat topik yang dibuat di Kafka dengan menjalankan perintah di bawah ini:
bin/kafka-topics.sh --list --zookeeper localhost:2181 testTopic KafkaonCentOS8 TutorialKafkaInstallCentOS8
Sebagai alternatif, daripada membuat topik secara manual, Anda juga dapat mengonfigurasi pialang untuk membuat topik secara otomatis saat topik yang tidak ada dipublikasikan.
Langkah 6 – Produsen dan Konsumen Apache Kafka
"Produser" adalah proses yang bertanggung jawab untuk memasukkan data ke dalam Kafka kami. Kafka hadir dengan klien baris perintah yang akan mengambil input dari file atau dari input standar dan mengirimkannya sebagai pesan ke cluster Kafka. Kafka default mengirim setiap baris sebagai pesan terpisah.
Mari jalankan Producer lalu ketik beberapa pesan ke konsol untuk dikirim ke server.
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic >Welcome to kafka >This is my first topic >
Sekarang buka terminal baru untuk menjalankan proses konsumen Apache Kafka. Kafka juga menyediakan dan baris perintah konsumen untuk membaca data dari klaster Kafka dan menampilkan pesan ke output standar.
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning Welcome to kafka This is my first topic
Opsi –dari-awal digunakan untuk membaca pesan dari awal topik yang dipilih. Anda dapat melewati opsi ini untuk membaca pesan terbaru saja.
Misalnya, Jalankan produsen dan konsumen Kafka di terminal terpisah. Cukup ketik beberapa teks di terminal produser itu. itu akan segera terlihat di terminal konsumen. Lihat tangkapan layar produsen dan konsumen Kafka di bawah ini dalam bekerja:
Kesimpulan
Anda telah berhasil menginstal dan mengonfigurasi layanan Kafka pada mesin CentOS 8 Linux.