如何在 Apache Rocky Linux 8 或 AlmaLinux 上安裝 Kafka


下面是在 Apache Rocky Linux 或 AlmaLinux 8 服務器上安裝 Kafka 的步驟,當然是使用命令終端。

Apache Kafka 是開源軟件,通過分佈式流媒體平台存儲和處理數據流。簡單地說,Apache Kafka 是一個事件流平台,它充當發送者和接收者之間的高度容錯和可擴展的消息傳遞系統。這是因為它基於類似優化的分佈式架構。

該系統最初是由 LinkedIn 作為消息隊列開發的,但作為 Apache 軟件基金會的一個項目是開源的,是一個強大的流媒體平台。 提供向Kafka集群寫入數據、讀取數據或從第三方系統導入導出數據的接口。低延遲和高吞吐量使處理實時流變得容易。

這些接口允許用戶從第三方系統加載數據流並將數據流導出到第三方系統。這使得 Apache Kafka 適用於大數據環境中的大量數據和應用程序。

它可用於廣泛的應用,例如實時跟踪網站活動、監控分佈式應用程序、聚合來自不同來源的日誌文件、同步分佈式系統中的數據以及協助機器學習中的實時模型訓練。

Apache Kafka 提供了這四個主要接口(API – Application Programming Interface)。每個 API 的詳細信息 官方文檔頁面

  • 管理 API
  • 生產者 API
  • 消費者 API
  • 流媒體 API
  • 連接 API

您需要遵循本教程:

  • 清理您的 Rocky 或 AlmaLinux 8 或其他基於 RHEL 的服務器(如果可能)。
  • 具有 sudo 訪問權限的用戶。

Apache Rocky Linux 8 上的 Kafka 安裝說明

如果需要,所有基於 RHEL 8 的 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. 在 Almalinux 上下載最新的 Apache Rocky Linux 8 或 Kafka。

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.

然後創建一個Kafka systemd文件

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 Server

接下來,啟動並啟用這兩個服務器服務,以確保它們在系統重新啟動後保持活動狀態。

sudo systemctl start zookeeper
sudo systemctl start kafka
sudo systemctl enable zookeeper
sudo systemctl enable kafka

檢查服務狀態。

sudo systemctl status zookeeper
sudo systemctl status kafka

Apdceh Kafka Server 服務已啟動

6. Kafka – 在 Rocky 或 AlmaLinux 上創建測試主題

Kafka 允許您在不同的機器上讀取、寫入、存儲和處理事件,但您需要一個名為“”的文件夾或位置來存儲這些事件。話題在服務器終端上,使用以下命令創建至少一個主題。您可以稍後使用相同的命令創建任意數量的主題。

如果第一個主題名稱是 – 測試事件所以要創建相同的運行:

轉到 Kafka 目錄。

cd /usr/local/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生產者創建一些事件並與消費者一起閱讀

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

向消費者發送 Apache 生產者消息

其他文章:

• 如何在 Rocky Linux 8 服務器上安裝 LAMP
• 如何在 Rocky Linux 8 上安裝 phpMyAdmin Apache

• 在 AlmaLinux 8 上安裝 ApacheRocky 或 MySQL 和 PHP。
• 如何在 AlmaLinux 或 Rocky 8 上安裝 InfluxDB