GNU/Linux >> Belajar Linux >  >> Linux

Cara Instal Apache Kafka di Rocky Linux 8

Apache Kafka adalah aplikasi perangkat lunak pengolah aliran dan perantara pesan sumber terbuka yang memungkinkan Anda memproses aliran data melalui platform streaming terdistribusi. Ini bertindak sebagai sistem pesan antara pengirim dan penerima. Apache Kafka didasarkan pada arsitektur terdistribusi, sehingga memberikan toleransi kesalahan dan kemampuan skalabilitas yang tinggi. Ini awalnya dikembangkan oleh LinkedIn, tetapi sekarang ini adalah proyek dari Apache Software Foundation. Apache Kafka menyediakan antarmuka untuk membaca dan menulis data ke klaster Kafka atau untuk mengimpor dan mengekspor data ke dan dari sistem pihak ketiga.

Pada postingan kali ini, kami akan menjelaskan cara install Apache Kafka di Rocky Linux 8.

Prasyarat

  • Server yang menjalankan RockyLinux 8 di Platform Cloud Atlantic.Net
  • Kata sandi root yang dikonfigurasi di server Anda

Langkah 1 – Buat Server Cloud Atlantic.Net

Pertama, masuk ke Server Cloud Atlantic.Net Anda. Buat server baru, pilih Rocky Linux 8 sebagai sistem operasi dengan RAM minimal 2GB. Hubungkan ke Server Cloud Anda melalui SSH dan masuk menggunakan kredensial yang disorot di bagian atas halaman.

Setelah Anda masuk ke server Anda, jalankan perintah berikut untuk memperbarui sistem dasar Anda dengan paket terbaru yang tersedia.

dnf update -y

Langkah 2 – Instal Java

Apache Kafka adalah aplikasi berbasis Java, jadi Java harus diinstal di server Anda. Jika belum terinstal, Anda dapat menginstalnya menggunakan perintah berikut:

dnf install java-11-openjdk-devel -y

Setelah Java diinstal, verifikasi instalasi Java menggunakan perintah berikut:

java --version

Anda akan mendapatkan versi Java di output berikut:

openjdk 11.0.13 2021-10-19 LTSOpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS)OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mode campuran, berbagi) 

Langkah 3 – Instal Apache Kafka di Rocky Linux 8

Pertama, buka situs web resmi Apache dan unduh versi terbaru Apache Kafka menggunakan perintah wget:

wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz

Setelah unduhan selesai, ekstrak file yang diunduh menggunakan perintah berikut:

tar -xvzf kafka_2.13-3.0.0.tgz

Setelah file yang diunduh diekstraksi, pindahkan direktori yang diekstrak ke /usr/local directory:

mv kafka_2.13-3.0.0/ /usr/local/kafka

Setelah selesai, Anda dapat melanjutkan ke langkah berikutnya.

Langkah 4 – Buat File Layanan Systemd untuk Zookeeper dan Kafka

Untuk lingkungan produksi, disarankan untuk membuat file layanan systemd untuk menjalankan Zookeeper dan Kafka di latar belakang.

Pertama, buat file layanan systemd untuk Zookeeper dengan perintah berikut:

nano /etc/systemd/system/zookeeper.service

Tambahkan baris berikut:

[Unit]Description=Apache Zookeeper serverDocumentation=http://zookeeper.Apache.orgRequires=network.target remote-fs.targetAfter=network.target remote-fs.target[Service]Type=simpleExecStart=/usr/bin /bash /usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.propertiesExecStop=/usr/bin/bash /usr/local/kafka/bin/zookeeper-server- stop.shRestart=on-abnormal[Install]WantedBy=multi-user.target

Simpan dan tutup file, lalu buat file layanan systemd untuk Kafka menggunakan perintah berikut:

nano /etc/systemd/system/kafka.service

Tambahkan baris berikut:

[Unit]Description=Apache Kafka ServerDocumentation=http://kafka.Apache.org/documentation.htmlRequires=zookeeper.service[Service]Type=simpleEnvironment="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.propertiesExecStop=/usr/bin/bash /usr/local/ kafka/bin/kafka-server-stop.sh[Install]WantedBy=multi-user.target

Simpan dan tutup file, lalu muat ulang daemon systemd dengan perintah berikut:

systemctl daemon-reload

Selanjutnya, mulai layanan Zookeeper dan Kafka dan aktifkan mereka untuk memulai saat reboot sistem:

systemctl start zookeepersystemctl start kafkasystemctl aktifkan zookeepersystemctl aktifkan kafka

Anda juga dapat memeriksa kedua layanan menggunakan perintah berikut:

systemctl status zookeeper kafka

Anda akan mendapatkan output berikut:

● zookeeper.service - server Apache Zookeeper Dimuat:dimuat (/etc/systemd/system/zookeeper.service; dinonaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Jumat 2021-10-22 07:51:56 UTC; 42 detik yang lalu Dokumen:http://zookeeper.apache.org PID Utama:33802 (java) Tugas:28 (batas:11411) Memori:91.4M CGroup:/system.slice/zookeeper.service 33802 java -Xmx512M -Xms512M -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCIn>22 Oktober 07:51:58 RockyLinux8 bash[33802]:[2021-10-22 07:51:58,676] INFO zookeeper.snapshot.compression.method =DIPERIKSA (org.apache.zookeeper.>22 Okt 07:51:58 RockyLinux8 bash[33802]:[2021-10-22 07:51:58,676] INFO Snapshotting:0x0 hingga /tmp /zookeeper/version-2/snapshot.0 (org.apache.z>22 Okt 07:51:58 RockyLinux8 bash[33802]:[2021-10-22 07:51:58,679] INFO Snapshot dimuat dalam 22 md, tertinggi zxid adalah 0x0, intisari adalah 1371985504 (o>22 Okt 07:51:58 RockyLinux8 bash[33802]:[2021-10-22 07:51:58,679] INFO Snapshotting:0x0 ke /tmp/zookeeper/version-2/snapshot .0 (org.apache.z>22 Okt 07:51:58 RockyLinux8 bash[33802]:[2021-10-22 07:51:58,683] INFO Cuplikan diambil dalam 3 md (org.apache.zookeeper.server.ZooKeep erServer)22 Okt 07:51:58 RockyLinux8 bash[33802]:[2021-10-22 07:51:58,703] INFO zookeeper.request_throttler.shutdownTimeout =10000 (org.apache.zookee>22 Okt 07:51:58 RockyLinux8 bash[33802]:[2021-10-22 07:51:58,741] INFO PrepRequestProcessor (sid:0) dimulai, reconfigEnabled=false (org.apach>22 Oktober 07:51:58 RockyLinux8 bash[33802]:[2021- 22-10-07:51:58,764] INFO Menggunakan checkIntervalMs=60000 maxPerMinute=10000 maxNeverUsedIntervalMs=>22 Okt 07:51:58 RockyLinux8 bash[33802]:[2021-10-22 07:51:58,765] Audit INFO ZooKeeper dinonaktifkan . (org.apache.zookeeper.audit.ZKAuditProvid>22 Okt 07:52:12 RockyLinux8 bash[33802]:[2021-10-22 07:52:12,102] INFO Membuat file log baru:log.1 (org.apache. zookeeper.server.persistence.>● kafka.service - Server Apache Kafka Dimuat:dimuat (/etc/systemd/system/kafka.service; dinonaktifkan; preset vendor:dinonaktifkan) Aktif:aktif (berjalan) sejak Jum 2021-10-22 07:52:09 UTC; 29 detik yang lalu Dokumen:http://kafka.Apache.org/documentation.html PID Utama:34147 (java) Tugas:69 (batas:11411) Memori:331,6M CGroup:/system.slice/ kafka.service └─34147 /usr/lib/jvm/jre-11-openjdk/bin/java -Xmx1G -Xms1G -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancy>22 Okt 07:52:14 RockyLinux8 bash[34147]:[2021-10-22 07:52:14,881] INFO [/config/changes-event-process-thread]:Memulai (kafka.common.ZkNodeC>22 Okt 07:52:14 RockyLinux8 bash [34147]:[2021-10-22 07:52:14.899] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Memulai socket server>22 Okt 07:52:14 RockyLinux8 bash [34147]:[2021-10-22 07:52:14,981] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Memulai data-plane acc>22 Okt 07:52:14 RockyLinux8 bash[34147]:[2021-10 -22 07:52:14,988] INFO [SocketServer listenerType=ZK_BROKER, nodeId=0] Memulai socket server>22 Okt 07:52:15 RockyLinux8 bash[34147]:[2021-10-22 07:52:15,069] INFO Kafka versi:3.0.0 (org.apache.kafka.common.utils.AppInfoParser)22 Okt 07:52:15 RockyLinux8 bash[34147]:[2021-10-22 07:52:15,069] INFO Kafka commitId:8cb0a5e9d3441962 (org .apache.kafka.common.utils.AppInf>22 Okt 07:52:15 RockyLinux8 bash[34147]:[2021-10-22 07:52:15,069] INFO Kafka startTimeMs:1634889134988 (org.apache.kafka. 

Langkah 5 – Buat Topik di Kafka

Untuk menguji Apache Kafka, Anda harus membuat setidaknya satu topik di server.

Ubah direktori ke Apache Kafka dan buat topik pengujian bernama topic1 dengan perintah berikut:

cd /usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic topic1

Anda sekarang dapat memverifikasi topik yang Anda buat menggunakan perintah berikut:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

Anda akan mendapatkan output berikut:

topik1

Kafka menyediakan dua API:Producer dan Consumer. Produser bertanggung jawab untuk membuat acara dan Konsumen menampilkannya di layar:

Pertama, jalankan perintah berikut untuk membuat event bernama event1 menggunakan perintah berikut:

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

Ketik beberapa teks yang ingin Anda streaming dan tampilkan di Konsumen.

>Hai, ini acara pertama saya

Contoh keluaran:

[2021-10-22 07:58:05,318] WARN [Producer clientId=console-producer] Kesalahan saat mengambil metadata dengan id korelasi 3 :{event1=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient) 

Buka terminal lain dan jalankan perintah berikut untuk menampilkan data peristiwa yang dihasilkan secara real-time:

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

Anda akan mendapatkan output berikut:

Hai, ini adalah acara pertama saya

Kesimpulan

Dalam panduan di atas, Anda telah mempelajari cara menginstal Apache Kafka di Rocky Linux 8. Untuk informasi lebih lanjut, Anda dapat mengunjungi halaman dokumentasi Apache Kafka. Mulai Apache Kafka di hosting VPS dari Atlantic.Net!


Linux
  1. Cara Install Apache Cassandra di AlmaLinux / Rocky Linux 8

  2. Cara Menginstal Apache Kafka di CentOS 8

  3. Cara Instal Apache Maven di Rocky Linux/Alma Linux 8

  1. Cara Menginstal RockyLinux 8.4

  2. Cara Menginstal Python 3.9 di Rocky Linux 8

  3. Cara Menginstal Python 3.10 di Rocky Linux 8

  1. Cara Menginstal Apache Solr di Rocky Linux

  2. Cara Instal Rocky Linux 8.4

  3. Cara Instal Apache Maven di Rocky Linux / CentOS 8