温馨提示×

kafka集群debian咋搭

小樊
41
2026-09-22 02:39:19
栏目: 智能运维

下面给你一个**在 Debian 上搭建 Kafka 集群(多 broker)**的简明实战步骤,假设你用 3 台 Debian 机器,Kafka 依赖 Zookeeper(先以传统方式为例)。


一、环境准备(每台机器都要做)

1. 系统

  • Debian 11 / 12
  • 3 台服务器(示例):
    192.168.1.101  kafka1
    192.168.1.102  kafka2
    192.168.1.103  kafka3
    

2. 安装 Java

Kafka 需要 JDK 8 或以上(推荐 JDK 11)

sudo apt update
sudo apt install -y openjdk-11-jdk
java -version

二、安装 Kafka(每台机器)

cd /opt
sudo wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
sudo tar -xzf kafka_2.13-3.6.1.tgz
sudo mv kafka_2.13-3.6.1 kafka

三、配置 Zookeeper(集群)

Kafka 3.x 仍可用 Zookeeper(KRaft 是新模式)

1. 配置 zookeeper.properties

编辑:

/opt/kafka/config/zookeeper.properties
dataDir=/var/lib/zookeeper
clientPort=2181
maxClientCnxns=0

server.1=192.168.1.101:2888:3888
server.2=192.168.1.102:2888:3888
server.3=192.168.1.103:2888:3888

2. 创建 myid(每台不同)

sudo mkdir -p /var/lib/zookeeper
echo 1 | sudo tee /var/lib/zookeeper/myid   # kafka1
echo 2 | sudo tee /var/lib/zookeeper/myid   # kafka2
echo 3 | sudo tee /var/lib/zookeeper/myid   # kafka3

四、配置 Kafka(每台机器)

编辑:

/opt/kafka/config/server.properties

公共配置

broker.id=1                # kafka1=1, kafka2=2, kafka3=3
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://192.168.1.101:9092
log.dirs=/var/lib/kafka-logs
num.partitions=3
default.replication.factor=3
min.insync.replicas=2

Zookeeper

zookeeper.connect=192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181

创建目录:

sudo mkdir -p /var/lib/kafka-logs

五、启动集群

1. 启动 Zookeeper(每台)

/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties

2. 启动 Kafka(每台)

/opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties

六、验证集群

查看 broker

/opt/kafka/bin/zookeeper-shell.sh 192.168.1.101:2181
ls /brokers/ids

创建 Topic

/opt/kafka/bin/kafka-topics.sh \
--create --topic test \
--partitions 3 --replication-factor 3 \
--bootstrap-server 192.168.1.101:9092

查看 Topic

/opt/kafka/bin/kafka-topics.sh --describe --topic test --bootstrap-server 192.168.1.101:9092

七、可选(生产建议)

  • systemd 管理 Kafka / Zookeeper
  • 开放防火墙 2181 / 9092
  • 日志轮转
  • 使用 KRaft 模式(无 Zookeeper)(Kafka 3.3+ 推荐)

如果你愿意,我可以:

  • 给你 systemd 服务文件
  • 给你 KRaft 模式搭建
  • 或按 单机伪集群 / 云服务器 场景写

你现在是测试还是生产环境?

0