首页主机资讯Kafka消息队列Ubuntu上怎么用

Kafka消息队列Ubuntu上怎么用

时间2026-01-15 23:27:03发布访客分类主机资讯浏览1085
导读:在 Ubuntu 上使用 Kafka 的快速上手指南 一 环境准备 安装 Java(Kafka 需要 Java 8 或 11):sudo apt update && sudo apt install -y openjdk-...

在 Ubuntu 上使用 Kafka 的快速上手指南

一 环境准备

  • 安装 Java(Kafka 需要 Java 8 或 11):sudo apt update & & sudo apt install -y openjdk-11-jdk;验证:java -version。建议系统空闲内存 ≥4GB、可用磁盘 ≥10GB。如使用防火墙,放行端口 2181(Zookeeper)与 9092(Kafka):sudo ufw allow 2181,9092/tcp(或 firewalld 对应命令)。如使用云服务器,还需在云安全组放行相同端口。

二 安装与配置

  • 下载并解压(以 3.5.0 为例,可替换为最新稳定版):wget https://downloads.apache.org/kafka/3.5.0/kafka_2.13-3.5.0.tgz & & tar -xzf kafka_2.13-3.5.0.tgz & & cd kafka_2.13-3.5.0。
  • 配置 Zookeeper(单机可用内置):编辑 config/zookeeper.properties,常用项:dataDir=/tmp/zookeeper,clientPort=2181
  • 配置 Kafka Broker:编辑 config/server.properties,常用项:broker.id=0;listeners=PLAINTEXT://:9092;advertised.listeners=PLAINTEXT://[服务器IP]:9092(远程访问必填服务器本机 IP);log.dirs=/tmp/kafka-logs(建议改为持久目录如 /data/kafka);num.partitions=1;offset.topic.replication.factor=1;transaction.state.log.replication.factor=1

三 启动与验证

  • 启动服务(建议后台运行):先启动 Zookeeper:bin/zookeeper-server-start.sh -daemon config/zookeeper.properties;再启动 Kafka:bin/kafka-server-start.sh config/server.properties & 。
  • 创建测试 Topic:bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
  • 发送与消费消息:生产者 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test;消费者 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning。若能正常收到消息,说明环境可用。

四 常见问题与优化

  • 端口冲突:Address already in use。排查:ss -ltnp | grep 90922181;结束占用进程或调整配置端口后重启。
  • 远程连不上:检查 advertised.listeners 是否为服务器 本机IP:9092,云主机需放通安全组与防火墙;本机测试可用 localhost。
  • 内存不足:编辑 bin/kafka-server-start.sh,设置 export KAFKA_HEAP_OPTS=“-Xms2G -Xmx2G”(按机器内存调整)。
  • 日志与数据目录:将 log.dirs 改为持久路径(如 /data/kafka),并确保目录存在且权限正确;Zookeeper 的 dataDir 也建议持久化。
  • Topic 分区扩容:bin/kafka-topics.sh --alter --bootstrap-server localhost:9092 --partitions 3 --topic test(注意:分区数只能增不能减)。

五 进阶 作为系统服务运行

  • 创建 systemd 单元(以 kafka 用户为例):/etc/systemd/system/zookeeper.service 与 /etc/systemd/system/kafka.service,分别配置 ExecStart 指向安装目录下的启动脚本,Kafka 单元 After=zookeeper.service。启用与启动:sudo systemctl daemon-reload & & sudo systemctl enable --now zookeeper & & sudo systemctl enable --now kafka。查看日志:journalctl -u kafka -f。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Kafka消息队列Ubuntu上怎么用
本文地址: https://pptw.com/jishu/780597.html
Kafka数据持久化Ubuntu如何实现 Debian如何优化phpstorm启动速度

游客 回复需填写必要信息