溫馨提示×

Kafka配置Ubuntu集群方法

小樊
43
2025-05-22 19:29:45
欄目: 智能運維

配置Kafka集群是一個相對復雜的過程,需要仔細配置多個組件。以下是一個詳細的步驟解析,基于多個來源的信息:

環境準備

  1. 安裝Java環境

    Kafka依賴于Java,首先需要安裝Java環境。

    sudo apt update
    sudo apt install openjdk-8-jdk
    java -version
    
  2. 安裝Zookeeper

    Kafka集群需要Zookeeper來管理集群元數據,因此需要安裝并配置好Zookeeper集群。

    wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
    tar -xzvf apache-zookeeper-3.7.0-bin.tar.gz
    sudo mv apache-zookeeper-3.7.0 /opt/zookeeper
    

    編輯Zookeeper配置文件 /opt/zookeeper/conf/zoo.cfg

    tickTime=2000
    dataDir=/var/lib/zookeeper
    clientPort=2181
    

    啟動Zookeeper:

    sudo /opt/zookeeper/bin/zkServer.sh start
    

    驗證Zookeeper是否啟動成功:

    sudo netstat -nap | grep 2181
    
  3. 安裝Kafka

    從Apache Kafka官網下載最新版本的Kafka二進制包。

    wget https://downloads.apache.org/kafka/2.8.0/kafka_2.13-2.8.0.tgz
    tar -xzvf kafka_2.13-2.8.0.tgz -C /usr/local
    

配置Kafka

  1. 配置server.properties

    進入Kafka配置目錄 /usr/local/kafka_2.13-2.8.0/config,復制 server.properties 文件并修改:

    sudo cp server.properties server-1.properties
    sudo cp server.properties server-2.properties
    sudo cp server.properties server-3.properties
    

    編輯 server-1.properties

    broker.id=1
    listeners=PLAINTEXT://:9092
    advertised.listeners=PLAINTEXT://192.168.1.1:9092
    log.dirs=/tmp/kafka-1
    zookeeper.connect=192.168.1.2:2181,192.168.1.3:2181,192.168.1.4:2181
    

    為每個broker節點復制一份配置文件,并修改其中的 broker.id 以保證每個broker的唯一性。

啟動集群

  1. 啟動Zookeeper

    在每臺機器上啟動Zookeeper服務:

    sudo /usr/local/zookeeper/bin/zkServer.sh start
    
  2. 啟動Kafka Server

    在每臺機器上,使用配置好的 server.properties 啟動Kafka服務:

    sudo /usr/local/kafka_2.13-2.8.0/bin/kafka-server-start.sh /usr/local/kafka_2.13-2.8.0/config/server-1.properties
    sudo /usr/local/kafka_2.13-2.8.0/bin/kafka-server-start.sh /usr/local/kafka_2.13-2.8.0/config/server-2.properties
    sudo /usr/local/kafka_2.13-2.8.0/bin/kafka-server-start.sh /usr/local/kafka_2.13-2.8.0/config/server-3.properties
    

驗證集群

  1. 創建Topic

    在任意一個Kafka節點上創建一個Topic以驗證集群功能:

    sudo /usr/local/kafka_2.13-2.8.0/bin/kafka-topics.sh --create --zookeeper 192.168.1.2:2181 --replication-factor 3 --partitions 1 --topic test-topic
    
  2. 列出Topic

    在集群中的任意節點上列出Topic:

    sudo /usr/local/kafka_2.13-2.8.0/bin/kafka-topics.sh --list --zookeeper 192.168.1.2:2181
    
  3. 生產者和消費者測試

    使用Kafka自帶的命令行工具測試消息發送和消費:

    • 生產者:

      sudo /usr/local/kafka_2.13-2.8.0/bin/kafka-console-producer.sh --broker-list 192.168.1.1:9092,192.168.1.2:9093,192.168.1.3:9094 --topic test-topic
      
    • 消費者:

      sudo /usr/local/kafka_2.13-2.8.0/bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.1:9092,192.168.1.2:9093,192.168.1.3:9094 --topic test-topic --from-beginning
      

以上步驟提供了一個基本的Kafka集群搭建流程。根據具體需求和環境,可能還需要進行更多的配置和優化。

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