linux

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

小樊
49
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(需设置dataDirclientPort及集群节点信息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  
    

五、集群优化与安全(可选)

注意事项

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

0
看了该问题的人还看了