1. 程式人生 > 其它 >centos7搭建kafka叢集

centos7搭建kafka叢集

技術標籤:大資料kafka

安裝環境

  • 作業系統:CentOS Linux release 7.8.2003
  • kafka版本:2.4.1

下載地址

http://kafka.apache.org/downloads.html

叢集規劃

伺服器lnh01伺服器Lnh02伺服器lnh03
zookeeperzookeeperzookeeper
kafkakafkakafka

安裝步驟

  1. 上傳壓縮包到伺服器
    在這裡插入圖片描述

  2. 解壓至/opt/soft下
    命令:tar -zxvf kafka_2.12-2.4.1.tgz -C /opt/soft/
    在這裡插入圖片描述
    重新命名為kafka
    在這裡插入圖片描述

  3. 目錄結構如下:
    在這裡插入圖片描述

  4. 在/opt/soft/kafka下建立dataLogs目錄

    在這裡插入圖片描述

  5. 修改配置檔案kafka_home/config/server.properties

    #broker的全域性唯一編號,和zookeeper的myid一樣,保持唯一
    broker.id=0
    #能夠刪除topic
    delete.topic.enable=true
    #處理網路請求的執行緒數量
    num.network.threads=3
    #用來處理磁碟IO的執行緒數量
    num.io.threads=8
    #傳送套接字的緩衝區大小
    socket.send.buffer.bytes=102400
    #接收套接字的緩衝區大小
    socket.receive.buffer.bytes=102400
    #請求套接字的緩衝區大小
    socket.
    request.max.bytes=104857600 #kafka執行日誌存放的路徑 log.dirs=/opt/soft/kafka/dataLogs #topic在當前broker上的分割槽個數 num.partitions=1 #用來恢復和清理data下資料的執行緒數量 num.recovery.threads.per.data.dir=1 #segment檔案保留的最長時間,超時將被刪除 log.retention.hours=168 #配置連線Zookeeper叢集地址 zookeeper.connect=lnh01:2181,lnh02:2181,lnh03:2181
  6. 配置環境變數
    vi /etc/profile

    在這裡插入圖片描述
    source /etc/profile

  7. 單臺kafka配置完成,將解壓包分發到另外兩臺機器
    scp -r kafka/ [email protected]:/opt/soft/
    scp -r kafka/ [email protected]:/opt/soft/

  8. 修改對應的server.properties檔案

    把檔案中的broker.id分別替換為12

  9. 配置kafka_home
    修改 /etc/profile,追加kafka_home到全域性PATH中

    # kafka
    export KAFKA_HOME=/opt/soft/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    

    記得source哦。 source /etc/profile

  10. 啟動叢集
    [[email protected] kafka]# ./bin/kafka-server-start.sh config/server.properties &
    [[email protected] kafka]# ./bin/kafka-server-start.sh config/server.properties &
    [[email protected] kafka]# ./bin/kafka-server-start.sh config/server.properties &

  11. 關閉叢集
    [[email protected] kafka]# ./bin/kafka-server-stop.sh stop
    [[email protected] kafka]# ./bin/kafka-server-stop.sh stop
    [[email protected] kafka]# ./bin/kafka-server-stop.sh stop

  12. 測試
    建立topic

    bin/kafka-topics.sh --zookeeper lnh01:2181 \
    --create --replication-factor 3 --partitions 1 --topic first
    

    列取所有topic

    bin/kafka-topics.sh --zookeeper lnh01:2181 --list
    

    在這裡插入圖片描述

  13. 群起kafka指令碼

    #! /bin/bash
    
    case $1 in
    "start"){
            for i in lnh01 lnh02 lnh03
            do
                    echo " --------啟動 $i Kafka-------"
                    ssh $i "/opt/soft/kafka/bin/kafka-server-start.sh -daemon /opt/soft/kafka/config/server.properties "
            done
    };;
    "stop"){
            for i in lnh01 lnh02 lnh03
            do
                    echo " --------停止 $i Kafka-------"
                    ssh $i "/opt/soft/kafka/bin/kafka-server-stop.sh stop"
            done
    };;
    esac