溫馨提示×

kafka集群搭建ubuntu步驟

小樊
42
2025-09-03 13:21:50
欄目: 智能運維

以下是在Ubuntu上搭建Kafka集群的步驟:

  1. 安裝Java

    sudo apt update  
    sudo apt install openjdk-11-jdk  
    java -version  # 驗證安裝  
    
  2. 安裝ZooKeeper

    • 下載并解壓:
      wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz  
      tar -xzf apache-zookeeper-3.7.0-bin.tar.gz  
      sudo mv apache-zookeeper-3.7.0 /opt/zookeeper  
      
    • 配置zoo.cfg
      sudo nano /opt/zookeeper/conf/zoo.cfg  
      dataDir=/opt/zookeeper/data  
      clientPort=2181  
      server.1=zoo1:2888:3888  # 多節點需配置所有節點IP  
      server.2=zoo2:2888:3888  
      server.3=zoo3:2888:3888  
      
    • 啟動ZooKeeper:
      cd /opt/zookeeper/bin  
      ./zkServer.sh start  
      ./zkServer.sh status  # 驗證啟動  
      
  3. 安裝Kafka

    • 下載并解壓:
      wget https://downloads.apache.org/kafka/3.6.2/kafka_2.12-3.6.2.tgz  
      tar -xzf kafka_2.12-3.6.2.tgz  
      sudo mv kafka_2.12-3.6.2 /opt/kafka  
      
    • 創建數據目錄:
      sudo mkdir -p /opt/kafka/logs  
      sudo chown -R $USER:$USER /opt/kafka/logs  
      
  4. 配置Kafka

    • 編輯server.properties(每節點唯一配置):
      sudo nano /opt/kafka/config/server.properties  
      broker.id=1  # 每個節點唯一ID  
      listeners=PLAINTEXT://節點IP:9092  
      advertised.listeners=PLAINTEXT://節點IP:9092  
      zookeeper.connect=zoo1:2181,zoo2:2181,zoo3:2181  # ZooKeeper集群地址  
      log.dirs=/opt/kafka/logs  
      
    • 復制配置文件到其他節點并修改broker.id。
  5. 啟動Kafka集群

    • 在每個節點上執行:
      cd /opt/kafka/bin  
      ./kafka-server-start.sh /opt/kafka/config/server.properties &  
      
  6. 驗證集群

    • 創建Topic:
      ./kafka-topics.sh --create --bootstrap-server 節點IP:9092 --replication-factor 3 --partitions 1 --topic test  
      
    • 列出Topic:
      ./kafka-topics.sh --list --bootstrap-server 節點IP:9092  
      
    • 生產者/消費者測試:
      # 生產者  
      ./kafka-console-producer.sh --broker-list 節點IP:9092 --topic test  
      # 消費者  
      ./kafka-console-consumer.sh --bootstrap-server 節點IP:9092 --topic test --from-beginning  
      
  7. 可選:配置Systemd服務

    • 創建服務文件:
      sudo nano /etc/systemd/system/kafka.service  
      [Unit]  
      Description=Apache Kafka Server  
      Requires=zookeeper.service  
      After=zookeeper.service  
      [Service]  
      Type=simple  
      User=kafka  
      WorkingDirectory=/opt/kafka  
      ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties  
      ExecStop=/opt/kafka/bin/kafka-server-stop.sh  
      Restart=always  
      [Install]  
      WantedBy=multi-user.target  
      
    • 啟用并啟動服務:
      sudo systemctl daemon-reload  
      sudo systemctl start kafka  
      sudo systemctl enable kafka  
      

注意事項

  • 確保所有節點時間同步(如使用NTP)。
  • 配置防火墻開放Kafka端口(默認9092)和ZooKeeper端口(默認2181)。
  • 生產環境建議使用KRaft模式替代ZooKeeper,或配置高可用ZooKeeper集群。

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