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.
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.
Sebelum menyelami persediaan dan operasi, adalah penting untuk memahami beberapa konsep dan istilah utama dalam 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.
Sebelum anda mula menyediakan Kafka, pastikan sistem anda memenuhi prasyarat berikut:
Java Development Kit (JDK): Kafka memerlukan Java 8 atau lebih baru. Anda boleh menyemak versi Java anda dengan arahan berikut:
java -version
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
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 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
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
Mulakan ZooKeeper: Kafka memerlukan ZooKeeper untuk berlari. Mulakan perkhidmatan ZooKeeper menggunakan fail konfigurasi yang disediakan.
bin/zookeeper-server-start.sh config/zookeeper.properties
ZooKeeper harus bermula pada port lalai 2181. Anda seharusnya melihat mesej log yang menunjukkan bahawa ZooKeeper sedang aktif dan berjalan.
Mulakan Kafka Broker: Buka tetingkap terminal baharu dan mulakan broker Kafka menggunakan fail konfigurasi yang disediakan.
bin/kafka-server-start.sh config/server.properties
Kafka harus bermula pada port lalai 9092. Anda akan melihat mesej log yang menunjukkan bahawa broker Kafka sedang beroperasi.
Walaupun konfigurasi lalai sesuai untuk pembangunan dan ujian, anda mungkin perlu menyesuaikan tetapan untuk persekitaran pengeluaran. Beberapa fail konfigurasi utama termasuk:
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
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.
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
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
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
You can now manage ZooKeeper and Kafka using standard systemctl commands (start, stop, status, restart).
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.
Creating a Topic:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
You should see a confirmation message indicating that the topic has been created successfully.
Producing Messages:
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
Type a few messages in the console and press Enter after each message.
Consuming Messages:
Open a new terminal window and run:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
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.
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!