GNU/Linux >> Belajar Linux >  >> Linux

Cara menginstal kafka di RHEL 8

Apache Kafka adalah platform streaming terdistribusi. Dengan set API (Application Programming Interface) yang kaya, kami dapat menghubungkan sebagian besar apa saja ke Kafka sebagai sumber data, dan di sisi lain, kami dapat menyiapkan sejumlah besar konsumen yang akan menerima sejumlah besar catatan untuk diproses. Kafka sangat skalabel, dan menyimpan aliran data dengan cara yang andal dan toleran terhadap kesalahan. Dari perspektif konektivitas, Kafka dapat berfungsi sebagai jembatan antara banyak sistem heterogen, yang pada gilirannya dapat mengandalkan kemampuannya untuk mentransfer dan mempertahankan data yang disediakan.

Dalam tutorial ini kita akan menginstal Apache Kafka pada Red Hat Enterprise Linux 8, buat systemd file unit untuk kemudahan pengelolaan, dan uji fungsionalitas dengan alat baris perintah yang dikirimkan.

Dalam tutorial ini Anda akan mempelajari:

  • Cara menginstal Apache Kafka
  • Cara membuat layanan systemd untuk Kafka dan Zookeeper
  • Cara menguji Kafka dengan klien baris perintah

Mengkonsumsi pesan tentang topik Kafka dari baris perintah.

Persyaratan dan Konvensi Perangkat Lunak yang Digunakan

Persyaratan Perangkat Lunak dan Konvensi Baris Perintah Linux
Kategori Persyaratan, Konvensi, atau Versi Perangkat Lunak yang Digunakan
Sistem Red Hat Enterprise Linux 8
Perangkat Lunak Apache Kafka 2.11
Lainnya Akses istimewa ke sistem Linux Anda sebagai root atau melalui sudo perintah.
Konvensi # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
$ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Cara menginstal kafka di Redhat 8 petunjuk langkah demi langkah

Apache Kafka ditulis dalam Java, jadi kita hanya perlu menginstal OpenJDK 8 untuk melanjutkan instalasi. Kafka mengandalkan Apache Zookeeper, layanan koordinasi terdistribusi, yang juga ditulis dalam Java, dan dikirimkan bersama paket yang akan kita unduh. Saat menginstal layanan HA (Ketersediaan Tinggi) ke satu node tidak akan menghentikan tujuannya, kami akan menginstal dan menjalankan Zookeeper demi Kafka.

  1. Untuk mengunduh Kafka dari mirror terdekat, kita perlu berkonsultasi dengan situs unduhan resmi. Kami dapat menyalin URL .tar.gz berkas dari sana. Kami akan menggunakan wget , dan URL yang ditempel untuk mengunduh paket ke mesin target:
    # wget https://www-eu.apache.org/dist/kafka/2.1.0/kafka_2.11-2.1.0.tgz -O /opt/kafka_2.11-2.1.0.tgz
  2. Kita masukkan /opt direktori, dan ekstrak arsip:
    # cd /opt
    # tar -xvf kafka_2.11-2.1.0.tgz

    Dan buat symlink bernama /opt/kafka yang menunjuk ke /opt/kafka_2_11-2.1.0 . yang sekarang dibuat direktori untuk membuat hidup kita lebih mudah.

    ln -s /opt/kafka_2.11-2.1.0 /opt/kafka
  3. Kami membuat pengguna yang tidak memiliki hak istimewa yang akan menjalankan zookeeper dan kafka service.
    # useradd kafka
  4. Dan tetapkan pengguna baru sebagai pemilik seluruh direktori yang kami ekstrak, secara rekursif:
    # chown -R kafka:kafka /opt/kafka*
  5. Kami membuat file unit /etc/systemd/system/zookeeper.service dengan konten berikut:
    [Unit]
    Description=zookeeper
    After=syslog.target network.target
    
    [Service]
    Type=simple
    
    User=kafka
    Group=kafka
    
    ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
    ExecStop=/opt/kafka/bin/zookeeper-server-stop.sh
    
    [Install]
    WantedBy=multi-user.target

    Perhatikan bahwa kita tidak perlu menulis nomor versi tiga kali karena symlink yang kita buat. Hal yang sama berlaku untuk file unit berikutnya untuk Kafka, /etc/systemd/system/kafka.service , yang berisi baris konfigurasi berikut:

    [Unit]
    Description=Apache Kafka
    Requires=zookeeper.service
    After=zookeeper.service
    
    [Service]
    Type=simple
    
    User=kafka
    Group=kafka
    
    ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
    ExecStop=/opt/kafka/bin/kafka-server-stop.sh
    
    [Install]
    WantedBy=multi-user.target
  6. Kita perlu memuat ulang systemd untuk mendapatkannya baca file unit baru:
    # systemctl daemon-reload
  7. Sekarang kita dapat memulai layanan baru (dalam urutan ini):
    # systemctl start zookeeper
    # systemctl start kafka

    Jika semuanya berjalan dengan baik, systemd harus melaporkan status berjalan pada status kedua layanan, mirip dengan output di bawah ini:

    # systemctl status zookeeper.service
      zookeeper.service - zookeeper
       Loaded: loaded (/etc/systemd/system/zookeeper.service; disabled; vendor preset: disabled)
       Active: active (running) since Thu 2019-01-10 20:44:37 CET; 6s ago
     Main PID: 11628 (java)
        Tasks: 23 (limit: 12544)
       Memory: 57.0M
       CGroup: /system.slice/zookeeper.service
                11628 java -Xmx512M -Xms512M -server [...]
    
    # systemctl status kafka.service
      kafka.service - Apache Kafka
       Loaded: loaded (/etc/systemd/system/kafka.service; disabled; vendor preset: disabled)
       Active: active (running) since Thu 2019-01-10 20:45:11 CET; 11s ago
     Main PID: 11949 (java)
        Tasks: 64 (limit: 12544)
       Memory: 322.2M
       CGroup: /system.slice/kafka.service
                11949 java -Xmx1G -Xms1G -server [...]
  8. Secara opsional, kami dapat mengaktifkan mulai otomatis saat boot untuk kedua layanan:
    # systemctl enable zookeeper.service
    # systemctl enable kafka.service
  9. Untuk menguji fungsionalitas, kami akan terhubung ke Kafka dengan satu produsen dan satu klien konsumen. Pesan yang diberikan oleh produsen harus muncul di konsol konsumen. Tapi sebelum ini kita membutuhkan sebuah media untuk bertukar pesan. Kami membuat saluran data baru yang disebut topic dalam istilah Kafka, di mana penyedia akan menerbitkan, dan di mana konsumen akan berlangganan. Kami akan menyebut topiknya
    FirstKafkaTopic . Kami akan menggunakan kafka pengguna untuk membuat topik:

    $ /opt/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic FirstKafkaTopic
  10. Kami memulai klien konsumen dari baris perintah yang akan berlangganan topik (pada titik ini kosong) yang dibuat pada langkah sebelumnya:
    $ /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic FirstKafkaTopic --from-beginning

    Kami membiarkan konsol dan klien berjalan di dalamnya terbuka. Konsol ini adalah tempat kami akan menerima pesan yang kami publikasikan dengan klien produser.

  11. Di terminal lain, kami memulai klien produser, dan memublikasikan beberapa pesan ke topik yang kami buat. Kami dapat meminta Kafka untuk topik yang tersedia:
    $ /opt/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
    FirstKafkaTopic

    Dan sambungkan ke salah satu langganan konsumen, lalu kirim pesan:

    $ /opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic FirstKafkaTopic
    > new message published by producer from console #2

    Di terminal konsumen, pesan akan segera muncul:

    $ /opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic FirstKafkaTopic --from-beginning
     new message published by producer from console #2

    Jika pesan muncul, pengujian kami berhasil, dan instalasi Kafka kami berfungsi sebagaimana mestinya. Banyak klien dapat menyediakan dan menggunakan satu atau beberapa catatan topik dengan cara yang sama, bahkan dengan penyiapan node tunggal yang kami buat dalam tutorial ini.


Linux
  1. Cara menginstal phpMyAdmin di RHEL 8 / CentOS 8

  2. Cara Menginstal P7Zip di RHEL 8 / CentOS 8

  3. cara menginstal gcc 4.9.2 di RHEL 7.4

  1. Cara menginstal ntfs-3g di RHEL 8 / CentOS 8

  2. Cara Menginstal PHP-mbstring di RHEL 8 / CentOS 8

  3. Cara menginstal phantomjs di RHEL 8 / CentOS 8

  1. Cara menginstal Dropbox di RHEL 8 / CentOS 8

  2. Cara memasang kompas di RHEL 8 / CentOS 8

  3. Cara Memasang Wayang di RHEL 8 / CentOS 8