Linux安装Kafka核心是先装JDK(如17),再下载解压Kafka,依版本选ZooKeeper或KRaft模式配置:关键设对listeners(监听)和advertised.listeners(客户端连接地址),最后启动验证。

Linux 中安装配置 Kafka,核心是先装好 Java,再部署 Kafka 本体,并正确设置监听地址和元数据协调服务(ZooKeeper 或 KRaft)。关键不在“能不能装”,而在“配得对不对”——尤其是云服务器或跨网段访问时,listeners 和 advertised.listeners 必须区分清楚。
确认并安装 Java 环境
Kafka 是 Java 应用,必须有 JDK 支持:
- 检查是否已安装:
java -version。输出应含 1.8、11、17 或更高版本(Kafka 3.3+ 推荐 JDK 17) - 若未安装:
- Ubuntu/Debian:
sudo apt install openjdk-17-jdk - CentOS/Rocky:
sudo dnf install java-17-openjdk-devel - 手动解压 JDK(如 jdk-17.0.8)后,需配置
JAVA_HOME并加入PATH,最后运行source /etc/profile
- Ubuntu/Debian:
下载并解压 Kafka
推荐使用官方二进制包(无需编译),注意 Scala 版本匹配(如 kafka_2.12-3.9.1.tgz 表示 Scala 2.12):
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
- 进入
/opt目录:cd /opt - 下载(以 Kafka 3.9.1 为例):
sudo curl -fsSLo kafka.tgz https://downloads.apache.org/kafka/3.9.1/kafka_2.12-3.9.1.tgz - 解压并重命名:
sudo tar -xzf kafka.tgz && sudo mv kafka_2.12-3.9.1 kafka - 建议创建专用用户运行(更安全):
sudo useradd -r -d /opt/kafka -s /usr/sbin/nologin kafka,再改属主:sudo chown -R kafka:kafka /opt/kafka
选择协调模式并配置 Kafka
有两种主流方式,选其一即可:
-
ZooKeeper 模式(兼容老版本,适合 Kafka ≤ 3.2):
- 使用 Kafka 自带 ZooKeeper(开发/测试够用):
/opt/kafka/bin/zookeeper-server-start.sh -daemon /opt/kafka/config/zookeeper.properties - 编辑
/opt/kafka/config/server.properties,重点修改:-
broker.id=0(单机填 0;集群每台唯一) -
listeners=PLAINTEXT://0.0.0.0:9092(监听所有网卡) -
advertised.listeners=PLAINTEXT://你的公网IP或内网IP:9092(客户端连接用的地址) -
zookeeper.connect=localhost:2181(若 ZooKeeper 在同机)
-
- 使用 Kafka 自带 ZooKeeper(开发/测试够用):
-
KRaft 模式(Kafka ≥ 3.3,无 ZooKeeper,推荐新部署):
- 删除旧 ZooKeeper 配置,启用内置共识:
rm -f /opt/kafka/config/zookeeper.properties - 编辑
/opt/kafka/config/kraft/server.properties:process.roles=broker,controller-
node.id=1(集群中每台编号不同) controller.quorum.voters=1@your-ip1:9093,2@your-ip2:9093,3@your-ip3:9093listeners=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093advertised.listeners=PLAINTEXT://your-public-ip:9092
- 首次启动前需格式化存储目录:
/opt/kafka/bin/kafka-storage.sh format -t $(/opt/kafka/bin/kafka-storage.sh random-uuid) -c /opt/kafka/config/kraft/server.properties
- 删除旧 ZooKeeper 配置,启用内置共识:
启动与验证
启动后务必验证连通性,尤其云服务器要检查防火墙:
- 启动 Kafka(KRaft 模式):
sudo -u kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/kraft/server.properties - 启动 Kafka(ZooKeeper 模式):
sudo -u kafka /opt/kafka/bin/kafka-server-start.sh -daemon /opt/kafka/config/server.properties - 检查进程:
ps aux | grep kafka或jps | grep Kafka - 开放端口(如用 firewalld):
sudo firewall-cmd --add-port=9092/tcp --permanent && sudo firewall-cmd --reload - 快速测试(创建 topic 并收发):
/opt/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test- 新开终端启动消费者:
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning - 再开终端启动生产者:
/opt/kafka/bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic test,输入文字回车即发送


















