當然,下面是使用命令終端在 Apache RockyLinux 或 AlmaLinux8 服務器上安裝 Kafka 的步驟。
Apache Kafka 是開源軟件,通過分佈式流媒體平台存儲和處理數據流。簡單地說,Apache Kafka 是一個事件流平台,充當發送者和接收者之間的消息傳遞系統,並且基於類似優化的分佈式架構,具有高容錯性和可擴展性。
該系統最初由 LinkedIn 開發為 Message Queuing,是一個開源且功能強大的流媒體平台,是 Apache 軟件基金會的一個項目。 它提供了一個接口,用於將數據寫入 Kafka 集群、讀取數據或從第三方系統導入和導出數據。低延遲和高吞吐量使處理實時流變得容易。
這些接口還允許用戶從第三方系統加載和導出數據流。這使得 Apache Kafka 適用於大數據環境中的大量數據和應用程序。
它可用於多種應用,例如實時跟踪網站活動、監控分佈式應用程序、聚合不同來源的日誌文件、分佈式系統中的數據同步、機器學習中的實時模型訓練支持等等。增加。
Apache Kafka 提供了這四個主要接口(API-Application Programming Interfaces)。每個 API 的詳細信息 官方文檔頁面:
- 管理 API
- 生產者 API
- 消費者 API
- 流媒體 API
- 連接 API
您需要遵循本教程:
- 清理 Rocky 或 AlmaLinux8,或任何其他基於 RHEL 的服務器(如果可能)。
- 具有 sudo 訪問權限的用戶。
Apache Rocky Linux 8 上的安裝過程 Kafka
給定的指南適用於所有基於 RHEL8 的 Linux 系統,包括 CentOS 8 和 Oracle Linux 8,您可以根據需要安裝 Kafka。
1.更新系統
現在,在繼續之前,運行系統更新命令以確保所有已安裝的軟件包都是最新的。為此,請運行以下命令:這也將刷新存儲庫緩存。
sudo dnf update
2.安裝Java
由於運行 Apache Kafka 需要 Java,因此必須首先在本地安裝,並且必須是 Java 8 或更高版本。嗯,獲取JAVA的包已經在基於系統的倉庫中了,所以不需要再添加第三個倉庫了。所以讓我們使用給定的命令。
對於 Java 11
sudo dnf install java-11-openjdk
對於最新版本(如 16),使用以下命令:
sudo dnf install epel-release
sudo dnf install java-latest-openjdk
3.下載最新的Apache RockyLinux 8或Kafka到Almalinux
Apache Kafka 在官方網站上以 tarball 文件的形式提供。所以去 官網及下載 的最新版本。也可以復制使用鏡像鏈接 wget
像在此處一樣使用命令行下載命令。
sudo dnf install wget nano
wget https://dlcdn.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz
解壓下載的文件
tar -xf kafka_*tgz
查看文件:
ls
去 /usr/local/
這是為了防止您意外刪除 Kafka 文件夾。
sudo mv kafka_2.13-3.0.0/ /usr/local/kafka
4、創建Zookeeper和Kafka系統服務
您可以直接手動運行 Zookeeper 和 Kafka 服務腳本,僅用於測試目的,但對於生產服務器,您需要在後台運行它們。因此,為這兩個腳本創建一個 systemd 單元。
創建系統文件Zookeeper
後來根據官網介紹,Kafka不需要Zookeeper,但是在寫這篇文章的時候。因此,首先創建一個 Zookeeper 服務文件。
sudo nano /etc/systemd/system/zookeeper.service
複製並粘貼以下行。
[Unit] Description=Apache Zookeeper server Documentation=https://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
保持 關閉文件並按 Ctrl + O, 打 進來 按下 鍵,然後使用退出 Ctrl + X..
接下來,創建一個Kafkasystemd文件
sudo nano /etc/systemd/system/kafka.service
粘貼以下行。 筆記 – 改變 Java_首頁, 如果您使用的是不同的版本。要找到它,您可以使用以下命令 – sudo find /usr/ -name *jdk
[Unit] Description=Apache Kafka Server Documentation=https://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
保存文件 Ctrl + O, 根據 進來 按鍵後 Ctrl + X 同樣完成。
重新加載守護進程
要將上述更改應用於系統並使用服務文件,請重新加載系統守護程序一次。
sudo systemctl daemon-reload
5. 在 Rocky Linux 上啟動 Zookeeper 和 Kafka 服務器
然後啟動並啟用這兩個服務器服務,以便它們在系統重新啟動後保持活動狀態。
sudo systemctl start zookeeper sudo systemctl start kafka
sudo systemctl enable zookeeper sudo systemctl enable kafka
檢查服務狀態。
sudo systemctl status zookeeper
sudo systemctl status kafka
6. 在 Kafka-Rocky 或 AlmaLinux 中創建測試主題
Kafka 允許您在各種機器上讀取、寫入、保存和處理事件。話題因此,在服務器終端中,使用以下命令至少創建一個主題。以後,您可以使用相同的命令創建任意多個主題。
假設我們的第一個主題名稱是- 測試事件..因此,要創建相同的運行:
切換到 Kafka 目錄。
cd/usr/本地/kafka/
使用主題腳本。
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testevent
創建任意數量的主題後,您可以使用以下命令列出所有主題。
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
7.使用Kafka Producer創建一些事件並與消費者一起閱讀
Kafka 提供了兩個 API—— 製片人 什麼時候 消費者, 在這兩種情況下,都提供一個命令行客戶端。生產者負責創建事件,消費者使用事件查看或讀取生產者生成的數據。
打開兩個終端選項卡或會話以實時查看事件生成器和閱讀器設置。
# 第一個終端:
為了測試,讓我們使用 Producer 腳本來創建一些事件。
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testevent
輸入要流式傳輸並顯示給消費者的文本。
# 在另一個終端上
跑, 以下命令與主題名稱一起實時檢查消息或生成的事件數據。
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testevent --from-beginning
其他文章:
• 如何在 Rocky Linux 8 服務器上安裝 LAMP
• 如何在 Rocky Linux 8 上安裝 phpMyAdmin Apache
• 在 AlmaLinux8 上安裝 Apache Rocky 或 MySQL 和 PHP
• 如何在 AlmaLinux 或 Rocky8 上安裝 InfluxDB