4-kafka安裝

huafeng055發表於2024-04-29

上傳Kafka壓縮包

  • 將kafka_2.12-3.6.1.tgz檔案上傳到三臺虛擬機器的/opt/software目錄中

解壓Kafka壓縮包

  • 進入/opt/software目錄
    cd /opt/software
  • 解壓縮檔案到指定目錄
    tar -zxvf kafka_2.12-3.6.1.tgz -C /opt/module/
  • 進入/opt/module目錄
    cd /opt/module
  • 修改檔案目錄名稱
    mv kafka_2.12-3.6.1/ kafka

修改配置檔案

  • 進入cd /opt/module/kafka/config檔案目錄
    cd /opt/module/kafka/config
  • 修改配置檔案
    vim server.properties
  • 輸入以下內容:
點選檢視程式碼
  #broker的全域性唯一編號,每個服務節點不能重複,只能是數字。
  broker.id=1
  #broker對外暴露的IP和埠 (每個節點單獨配置)
  advertised.listeners=PLAINTEXT://kafka-broker1:9092
  #kafka執行日誌(資料)存放的路徑,路徑不需要提前建立,kafka自動幫你建立,可以配置多個磁碟路徑,路徑與路徑之間可以用","分隔
  log.dirs=/opt/module/kafka/datas
  #配置連線Zookeeper叢集地址(在zk根目錄下建立/kafka,方便管理)
  zookeeper.connect=kafka-broker1:2181,kafka-broker2:2181,kafka-broker3:2181/kafka

分發kafka軟體

  • 進入 /opt/module目錄
    cd /opt/module
  • 執行分發指令
    xsync kafka
  • 按照上面的配置檔案內容,在每一個Kafka節點進行配置,請注意配置檔案中第一二條的對應主機號
    vim /opt/module/kafka/config/server.properties

配置環境變數

  • 修改 /etc/profile.d/my_env.sh檔案
    vim /etc/profile.d/my_env.sh
  • 新增內容
點選檢視程式碼
#KAFKA_HOME
export KAFKA_HOME=/opt/module/kafka
export PATH=$PATH:$KAFKA_HOME/bin

  • 讓環境變數生效
    source /etc/profile.d/my_env.sh
  • 分發環境變數,並讓環境變數生效
    xsync /etc/profile.d/my_env.sh
  • 每個節點執行重新整理操作
    source /etc/profile.d/my_env.sh

啟動Kafka

  • 啟動前請先啟動ZooKeeper服務
  • 進入/opt/module/kafka目錄
    cd /opt/module/kafka
  • 執行啟動指令
    bin/kafka-server-start.sh -daemon config/server.properties
  • 執行關閉指令
    bin/kafka-server-stop.sh

分發軟體

  • 進入/opt/module路徑
    cd /opt/module
  • 呼叫分發指令碼將本機得ZooKeeper安裝包分發到其他兩臺機器
    xsync kafka
  • 分別將不同虛擬機器/opt/module/kafka/zkData目錄下myid檔案進行修改
    vim /opt/module/kafka/config/server.properties

分發指令碼可參考此部落格https://i.cnblogs.com/posts/edit;postId=18145758

啟停指令碼

  • 進入/root/bin目錄
    cd /root/bin
  • 建立kfk.sh指令碼檔案
    vim kfk.sh
  • 在指令碼中增加內容:
點選檢視程式碼
#!/bin/bash

case "$1" in
start)
    for i in kafka-broker1 kafka-broker2 kafka-broker3
    do
        echo " --------啟動 $i Kafka-------"
        ssh $i "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties" && echo "$i Kafka started" || echo "Failed to start $i Kafka"
    done
    ;;
stop)
    for i in kafka-broker1 kafka-broker2 kafka-broker3
    do
        echo " --------停止 $i Kafka-------"
        # 這裡需要一個適當的方法來停止 Kafka 服務
        # ssh $i "pkill -f '/opt/module/kafka/bin/kafka.Kafka'"
        ssh $i "/path/to/your/kafka-stop-script.sh" && echo "$i Kafka stopped" || echo "Failed to stop $i Kafka"
    done
    ;;
*)
    echo "Usage: $0 {start|stop}"
    ;;
esac
  • 給檔案授權
    chmod 777 kfk.sh
  • 指令碼呼叫方式
  • 啟動kafka
    kfk.sh start
  • 停止Kafka
    kfk.sh stop

相關文章