溫馨提示×

Linux中Kafka集群搭建步驟是什么

小樊
42
2025-08-22 08:09:58
欄目: 智能運維

以下是在Linux中搭建Kafka集群的核心步驟(基于Kafka 3.x版本,依賴ZooKeeper):

一、環境準備

  1. 安裝JDK
    確保安裝Java 1.8+,推薦使用OpenJDK:

    # CentOS/RHEL  
    sudo yum install -y java-1.8.0-openjdk-devel  
    # Ubuntu/Debian  
    sudo apt install -y openjdk-8-jdk  
    java -version  # 驗證安裝  
    
  2. 安裝ZooKeeper集群

    • 下載并解壓ZooKeeper:
      wget https://dlcdn.apache.org/zookeeper/zookeeper-3.8.2/apache-zookeeper-3.8.2-bin.tar.gz  
      tar -zxvf apache-zookeeper-3.8.2-bin.tar.gz -C /usr/local/  
      
    • 配置zoo.cfg(需設置dataDir、clientPort及集群節點信息server.x=host:port:port):
      # 示例(3節點集群)  
      server.1=zookeeper1:2888:3888  
      server.2=zookeeper2:2888:3888  
      server.3=zookeeper3:2888:3888  
      
    • 啟動ZooKeeper:
      cd /usr/local/apache-zookeeper-3.8.2-bin/bin  
      ./zkServer.sh start  
      

二、Kafka集群安裝與配置

  1. 下載并解壓Kafka

    wget https://dlcdn.apache.org/kafka/3.5.1/kafka_2.13-3.5.1.tgz  
    tar -zxvf kafka_2.13-3.5.1.tgz -C /usr/local/  
    ln -s /usr/local/kafka_2.13-3.5.1 /usr/local/kafka  
    
  2. 配置Kafka(關鍵參數)
    編輯config/server.properties(每個節點需唯一配置):

    # 節點唯一標識  
    broker.id=1  # 不同節點依次設置為2、3等  
    # 監聽地址(需替換為實際IP)  
    listeners=PLAINTEXT://kafka-node1:9092  
    advertised.listeners=PLAINTEXT://kafka-node1:9092  
    # ZooKeeper連接  
    zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181  
    # 存儲目錄  
    log.dirs=/data/kafka/logs  
    # 集群參數(高可用)  
    default.replication.factor=3  # 副本數  
    min.insync.replicas=2  # 最小同步副本數  
    
  3. 創建日志目錄并授權

    mkdir -p /data/kafka/logs  
    chown -R kafka:kafka /data/kafka/logs  
    

三、啟動Kafka集群

在每個節點上執行:

cd /usr/local/kafka/bin  
./kafka-server-start.sh ../config/server.properties &  

四、驗證集群狀態

  1. 查看Broker狀態

    # 查看所有Broker是否正常注冊  
    ./kafka-broker-api-versions.sh --bootstrap-server kafka-node1:9092  
    
  2. 創建測試Topic

    ./kafka-topics.sh --create --topic test-topic --bootstrap-server kafka-node1:9092 --partitions 3 --replication-factor 3  
    ./kafka-topics.sh --describe --topic test-topic --bootstrap-server kafka-node1:9092  # 查看Topic分布  
    
  3. 發送/消費消息

    # 生產者  
    ./kafka-console-producer.sh --topic test-topic --bootstrap-server kafka-node1:9092  
    # 消費者  
    ./kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server kafka-node1:9092  
    

五、集群優化與安全(可選)

  • 啟用Kafka內置安全機制(如SASL/SSL):參考官方文檔配置認證。
  • 監控集群狀態:使用kafka-run-class.sh或集成Prometheus+Grafana監控關鍵指標(如ISR、延遲、吞吐量)。

注意事項

  • 確保ZooKeeper集群為奇數節點(3/5節點),避免腦裂。
  • 生產環境中建議關閉防火墻或開放Kafka端口(9092等)。
  • 若需高可用,建議跨機架部署節點,配置rack.id參數。

以上步驟參考自[1,2,3,4,5,6,7,8,9,10,11]。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女