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


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

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

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

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

可用於多種應用,例如實時跟踪網站活動、監控分佈式應用、聚合各種來源的日誌文件、分佈式系統中的數據同步、機器學習中的實時模型訓練支持等。 .

Apache Kafka 提供了這四個主要接口(API-應用程序編程接口)。每個 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.在Almalinux上下載最新的Apache RockyLinux 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..

接下來,創建一個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

Apdceh 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

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

其他文章:

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

• 在Alma Linux 8 上安裝Apache Rocky 或MySQL 和PHP
• 如何在 AlmaLinux 或 Rocky8 上安裝 InfluxDB