Rumah > hujung hadapan web > tutorial js > Bermula Dengan Apache Kafka

Bermula Dengan Apache Kafka

PHPz
Lepaskan: 2024-08-05 22:36:12
asal
1080 orang telah melayarinya

Getting Started With Apache Kafka

Apache Kafka ialah platform penstriman acara teragih yang berkuasa yang mampu mengendalikan trilion acara sehari. Asalnya dibangunkan oleh LinkedIn dan sumber terbuka pada awal tahun 2011, Kafka telah berkembang menjadi tulang belakang pusat untuk banyak seni bina data moden. Dalam panduan ini, kami akan membimbing anda melalui semua yang anda perlukan untuk bermula dengan Apache Kafka, daripada memahami seni binanya kepada menyediakannya dan melaksanakan operasi asas.

Pengenalan kepada Apache Kafka

Apache Kafka direka untuk mengendalikan suapan data masa nyata. Ia berfungsi sebagai platform berkemampuan tinggi, kependaman rendah untuk mengendalikan aliran data. Kafka sering digunakan untuk membina saluran paip data penstriman masa nyata dan aplikasi yang menyesuaikan diri dengan aliran data. Beberapa kes penggunaan biasa termasuk pengagregatan log, analitis masa nyata dan pemprosesan strim.

Konsep dan Terminologi Utama

Sebelum menyelami persediaan dan operasi, adalah penting untuk memahami beberapa konsep dan istilah utama dalam Kafka:

  • Pengeluar: Aplikasi yang menghantar mesej kepada topik Kafka.
  • Pengguna: Aplikasi yang membaca mesej daripada topik Kafka.
  • Topik: Kategori atau nama suapan yang mesej dihantar oleh pengeluar.
  • Broker: Pelayan Kafka yang menyimpan dan menyajikan topik Kafka.
  • Pembahagian: Pembahagian topik untuk kebolehskalaan dan pemprosesan selari.
  • Offset: Pengecam unik untuk setiap mesej dalam partition.

Menyediakan Apache Kafka

Menyediakan Apache Kafka melibatkan beberapa langkah, termasuk memuat turun perisian yang diperlukan, mengkonfigurasinya dan memulakan perkhidmatan. Dalam bahagian ini, kami akan menyediakan panduan terperinci untuk memastikan anda dapat menyediakan persekitaran Kafka anda dan berjalan dengan lancar.

Prasyarat

Sebelum anda mula menyediakan Kafka, pastikan sistem anda memenuhi prasyarat berikut:

  1. Java Development Kit (JDK): Kafka memerlukan Java 8 atau lebih baru. Anda boleh menyemak versi Java anda dengan arahan berikut:

    java -version
    
    Salin selepas log masuk

    Jika Java tidak dipasang, anda boleh memuat turun dan memasangnya daripada tapak web Oracle atau menggunakan pengurus pakej seperti apt untuk sistem berasaskan Debian atau brew untuk macOS:

    # For Debian-based systems
    sudo apt update
    sudo apt install openjdk-11-jdk
    
    # For macOS
    brew install openjdk@11
    
    Salin selepas log masuk
  2. Apache ZooKeeper: Kafka menggunakan ZooKeeper untuk mengurus konfigurasi dan penyegerakan yang diedarkan. ZooKeeper disertakan dengan Kafka, jadi anda tidak perlu memasangnya secara berasingan.

Muat turun dan Pasang Kafka

  1. Muat turun Kafka: Lawati halaman muat turun Apache Kafka rasmi dan muat turun versi terkini Kafka. Sehingga berita ini ditulis, Kafka 2.8.0 ialah keluaran stabil terkini.

    wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
    
    Salin selepas log masuk
  2. Ekstrak Fail Yang Dimuat Turun: Ekstrak fail tar ke direktori pilihan anda.

    tar -xzf kafka_2.13-2.8.0.tgz
    cd kafka_2.13-2.8.0
    
    Salin selepas log masuk
  3. Mulakan ZooKeeper: Kafka memerlukan ZooKeeper untuk berlari. Mulakan perkhidmatan ZooKeeper menggunakan fail konfigurasi yang disediakan.

    bin/zookeeper-server-start.sh config/zookeeper.properties
    
    Salin selepas log masuk

    ZooKeeper harus bermula pada port lalai 2181. Anda seharusnya melihat mesej log yang menunjukkan bahawa ZooKeeper sedang aktif dan berjalan.

  4. Mulakan Kafka Broker: Buka tetingkap terminal baharu dan mulakan broker Kafka menggunakan fail konfigurasi yang disediakan.

    bin/kafka-server-start.sh config/server.properties
    
    Salin selepas log masuk

    Kafka harus bermula pada port lalai 9092. Anda akan melihat mesej log yang menunjukkan bahawa broker Kafka sedang beroperasi.

Konfigurasi Kafka

Walaupun konfigurasi lalai sesuai untuk pembangunan dan ujian, anda mungkin perlu menyesuaikan tetapan untuk persekitaran pengeluaran. Beberapa fail konfigurasi utama termasuk:

  • server.properties: Fail ini mengandungi konfigurasi untuk broker Kafka, seperti ID broker, direktori log dan pendengar.
  • zookeeper.properties: Fail ini mengandungi konfigurasi untuk ZooKeeper, seperti direktori data dan port klien.

Anda boleh mengedit fail konfigurasi ini mengikut keperluan anda. Contohnya, untuk menukar direktori log, anda boleh mengedit sifat log.dirs dalam fail server.properties:

log.dirs=/path/to/your/kafka-logs
Salin selepas log masuk

Mencipta Fail Perkhidmatan Systemd

Untuk memudahkan pengurusan, terutamanya pada pelayan Linux, anda boleh mencipta fail perkhidmatan sistem untuk ZooKeeper dan Kafka. Ini membolehkan anda memulakan, menghentikan dan memulakan semula perkhidmatan ini menggunakan systemctl.

  1. Fail Perkhidmatan ZooKeeper: Buat fail bernama zookeeper.service dalam direktori /etc/systemd/system/:

    [Unit]
    Description=Apache ZooKeeper
    After=network.target
    
    [Service]
    Type=simple
    ExecStart=/path/to/kafka/bin/zookeeper-server-start.sh /path/to/kafka/config/zookeeper.properties
    ExecStop=/path/to/kafka/bin/zookeeper-server-stop.sh
    Restart=on-abnormal
    
    [Install]
    WantedBy=multi-user.target
    
    Salin selepas log masuk
  2. Fail Perkhidmatan Kafka: Buat fail bernama kafka.service dalam direktori /etc/systemd/system/:

    [Unit]
    Description=Apache Kafka
    After=zookeeper.service
    
    [Service]
    Type=simple
    ExecStart=/path/to/kafka/bin/kafka-server-start.sh /path/to/kafka/config/server.properties
    ExecStop=/path/to/kafka/bin/kafka-server-stop.sh
    Restart=on-abnormal
    
    [Install]
    WantedBy=multi-user.target
    
    Salin selepas log masuk
  3. Enable and Start Services: Enable and start the services using systemctl:

    sudo systemctl enable zookeeper
    sudo systemctl start zookeeper
    
    sudo systemctl enable kafka
    sudo systemctl start kafka
    
    Salin selepas log masuk

    You can now manage ZooKeeper and Kafka using standard systemctl commands (start, stop, status, restart).

Verifying the Installation

To verify that your Kafka setup is working correctly, you can perform some basic operations such as creating a topic, producing messages, and consuming messages.

  1. Creating a Topic:

    bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
    
    Salin selepas log masuk

    You should see a confirmation message indicating that the topic has been created successfully.

  2. Producing Messages:

    bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
    
    Salin selepas log masuk

    Type a few messages in the console and press Enter after each message.

  3. Consuming Messages:
    Open a new terminal window and run:

    bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
    
    Salin selepas log masuk

    You should see the messages you produced in the previous step.

By following these steps, you should have a fully functional Apache Kafka environment set up on your system. This setup forms the foundation for developing and deploying real-time data streaming applications using Kafka.

Conclusion

Getting started with Apache Kafka can seem daunting, but with the right guidance, you can quickly get up to speed. This guide provided a comprehensive introduction to Kafka, from installation to basic operations and building simple producers and consumers. As you continue to explore Kafka, you will uncover its full potential for building robust, real-time data pipelines.

By following this guide, you’ve taken the first steps in mastering Apache Kafka. Happy streaming!

Atas ialah kandungan terperinci Bermula Dengan Apache Kafka. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan