部署Kafka:ZooKeeper模式

  • 文档创建者:Roxy
  • 历史版本:44
  • 最近更新:Nikozhan 于 2025-03-05
  • 1. 概述

    FineDataLink 支援使用 Kafka 作為資料同步的中間軟體,暫存來源資料庫中的資料,便於目標資料庫寫入資料,實現實時資料同步。

    本文介紹 Kafka ZooKeeper 模式的部署方案,以便後續 配置管道任务

    注1:此範例為 Linux 系統下部署 Kafka;Kafka 建議安裝在 Linux 系統中(Kafka 也支援安裝在 Windows 中,但效能會受到限制,僅做示範使用,不建議用於生産環境 )。

    注2:Kafka KRaft 模式的部署方案請參見:部署Kafka:KRaft模式

    注3:目前産品不支援 Kafka 叢集。

    2. KRaft 模式與 ZooKeeper 模式說明

    3. 前提條件

    • Kafka 運作需要 Java 環境,因此需要確定伺服器中已經指定了可使用的 Java 環境(指定 JAVA_HOME環境變數)。注:JDK 版本不能低於 1.8。

    注:若 kafka 和 FineDataLink 部署在同一個伺服器上,可以使用同一個 JAVA 環境,操作步驟如下:

    在 etc/profile 檔案中配置 Java環境,增加如下內容:

    注:下面程式碼中%FineDataLink%更換為實際 FineDataLink 安裝路徑。

    export JAVA_HOME=%FineDataLink%/jdk/jre
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib/tools.jar

    並執行source /etc/profile儲存,使修改立即生效。

    4. 操作步驟

    點選下載安裝包:Kafka 安裝包

    4.1 解壓安裝包

    上傳 kafka 安裝包。

    注:可以將 Kafka 安裝在任意Linux 環境中,如果Kafka 和FDL不在一台伺服器上,Kafka就需要進行一些單獨配置實現 Kafka 的跨伺服器存取,可參見 增加配置

    使用命令 tar zxvf kafka安裝包檔案名稱.tgz 解壓安裝包,例如如下圖所示:

    注:(請勿直接在windows環境下解壓後,進行檔案上傳,這樣會造成檔案被修改,常見報錯:/bin/bash^M: 壞的解譯器: 沒有那個檔案或目錄)

    4.2 修改 Kafka 儲存資料的目錄

    注:使用者也可忽略本節內容,使用預設資料儲存位置。

    Kafka 在使用時需要儲存資料到指定資料夾,因此需要建立資料夾用來存放暫存在 Kafka 中的資料。

    範例在 /data 目錄下建立:kafka-logs,如下圖所示:

    注:建議資料夾建立在伺服器中磁碟空間相對大的位置,資料夾位置可自行設定。

    開啟 Kafka 安裝目錄下的 config 檔案中的 server.properties 檔案,找到 log.dirs=,修改資料儲存位置,把等於號後邊的值更換為建立好的給 Kafka 儲存資料的目錄,修改之後儲存。如下圖所示:

    注:此處路徑為範例,使用者可根據實際情況設定儲存資料目錄位置。

    4.3 修改 listeners

    如果 kafka 和 FDL 不在同一個伺服器,則需要修改 server.properties 檔案的 listeners。詳情請參見:增加配置

    若 kafka 和 FDL 在同一個伺服器,忽略本節內容。

    注:Kafka 配置中無需指定 topic,FineDataLink 會自動建立,每張表對應一個topic。

    4.4 修改 zookeeper 資料儲存目錄

    範例在 /data 目錄下建立:zookeeper 資料夾,如下圖所示:

    注:資料夾位置可自行設定。

    開啟 Kafka 安裝目錄下的 config 檔案中的 zookeeper.properties 檔案,找到 dataDir=,修改資料儲存位置,把等於號後邊的值更換為建立好的給 Kafka 儲存資料的目錄,修改之後儲存。如下圖所示:

    4.5 啟動 Kafka

    1)啟動 zookeeper

    由於 kafka 服務依賴於zookeeper 服務,使用 kafka 自帶的 zookeeper,進入 Kafka 目錄,使用命令:cd /.../kafka_2.13-2.8.1

    執行命令啟動 zookeeper。

    nohup ./bin/zookeeper-server-start.sh ./config/zookeeper.properties > ./zk.log 2>&1 & 

    2)查看 zookeeper 運作狀態

    執行命令 ps -ef|grep zookeeper 查看是否啟動成功。 若顯示類似如下 18300 的進程號的記錄,則表示啟動成功。

    3)啟動 Kafka

    執行 nohup ./bin/kafka-server-start.sh ./config/server.properties >./kafka.log 2>&1 & 

    4)查看 Kafka 運作狀態

    執行命令 ps -ef|grep kafka 查看是否啟動成功。 若顯示類似如下 18300 的進程號的記錄,則表示啟動成功。

    注:關閉 Kafka 步驟為先關閉 Kafka,再關閉 zookeeper,命令詳情見本文第5節。

    5. 後續步驟

    安裝部署好 Kafka 後,即可在 FinedataLink 中配置传输队列

    6. 維運命令

    注1:關閉 Kafka 步驟為先關閉 Kafka,再關閉 zookeeper。

    注2:重啟 Kafka 前,需要先手動暫停管道任務,重啟 Kafka 後,再手動重啟管道任務,否則管道任務會有異常。

    6.1 關閉 Kafka

    進入 kafka目錄下,執行 bin/kafka-server-stop.sh

    6.2 關閉 zookeeper

    進入 kafka 目錄下,執行bin/zookeeper-server-stop.sh


    附件列表


    主题: 資料管道
    • 有帮助
    • 没帮助
    • 只是浏览
    • 评价文档,奖励 1 ~ 100 随机 F 豆!