溫馨提示×

Ubuntu Kafka如何進行集群部署

小樊
67
2025-03-15 08:39:11
欄目: 智能運維

在Ubuntu上部署Kafka集群涉及多個步驟,包括準備環境、配置Kafka和Zookeeper、啟動服務以及驗證集群狀態。以下是一個詳細的步驟指南:

1. 環境準備

  • 安裝Java:Kafka需要Java環境,推薦使用Java 8及以上版本。
    sudo apt update
    sudo apt install openjdk-11-jdk -y
    
  • 下載Kafka:從Apache Kafka官網下載最新版本的Kafka。
    wget https://downloads.apache.org/kafka/3.6.2/kafka_2.12-3.6.2.tgz
    
  • 解壓Kafka:將下載的壓縮包解壓到指定目錄。
    tar -xzvf kafka_2.12-3.6.2.tgz -C /usr/local/
    

2. 配置Zookeeper

  • 創建Zookeeper目錄
    sudo mkdir -p /usr/local/kafka/data
    sudo mkdir -p /usr/local/kafka/log
    
  • 配置Zookeeper: 編輯/usr/local/kafka/config/zookeeper.properties文件,設置數據目錄和客戶端端口等參數。
    dataDir=/usr/local/kafka/data
    clientPort=2181
    
  • 啟動Zookeeper
    sudo /usr/local/kafka/bin/zookeeper-server-start.sh config/zookeeper.properties
    

3. 配置Kafka

  • 復制配置文件:為每個Kafka broker創建一個配置文件。
    sudo cp /usr/local/kafka/config/server.properties /usr/local/kafka/config/server-1.properties
    sudo cp /usr/local/kafka/config/server.properties /usr/local/kafka/config/server-2.properties
    
  • 修改配置文件:為每個broker配置唯一的broker.id、listenerslog.dirs等參數。
    • server-1.properties
      broker.id=1
      listeners=PLAINTEXT://192.168.1.1:9092
      log.dirs=/usr/local/kafka/data/kafka-logs-1
      
    • server-2.properties
      broker.id=2
      listeners=PLAINTEXT://192.168.1.2:9092
      log.dirs=/usr/local/kafka/data/kafka-logs-2
      

4. 啟動Kafka

  • 啟動Kafka服務:在每個broker上啟動Kafka服務。
    sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server-1.properties
    sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server-2.properties
    

5. 驗證集群

  • 創建測試主題
    sudo /usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server 192.168.1.1:9092,192.168.1.2:9092 --replication-factor 2 --partitions 1 --topic test-topic
    
  • 列出主題
    sudo /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server 192.168.1.1:9092,192.168.1.2:9092
    
  • 生產消息
    sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.1.1:9092,192.168.1.2:9092 --topic test-topic
    
  • 消費消息
    sudo /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.1:9092,192.168.1.2:9092 --topic test-topic --from-beginning
    

6. 安全加固(可選)

  • 配置SSL/TLS:為Kafka集群配置SSL/TLS加密。
  • SASL認證:啟用SASL認證以增強安全性。
  • 訪問控制列表(ACL):設置ACL以限制對特定主題的訪問。
  • 網絡安全策略:使用VPC和安全組限制訪問Kafka集群的機器。

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