Kafka 单节点测试环境部署实战

最近有一个测试环境项目环境需要搞个kafka,整个单节点的步骤吧,后面再上多节点的。

一、环境准备

1.1 系统要求

一台 Linux 服务器(虚拟机、物理机或云主机均可)

建议配置:2 核 CPU / 4GB 内存 / 20GB 以上磁盘空间

操作系统:CentOS 7/8/9、Ubuntu 20.04/22.04、Debian 10/11 等

bash 复制代码
sudo yum install -y java-11-openjdk-devel

1.2 验证 Java 版本

我这个是之前装好的jdk8

java -version

1.3 关闭防火墙

1.4 创建数据目录

bash 复制代码
sudo mkdir -p /data/kafka-logs

sudo chown -R $(whoami):$(whoami) /data/kafka-logs

二、安装 Kafka

2.1 下载二进制包

bash 复制代码
cd /opt

sudo wget https://archive.apache.org/dist/kafka/3.7.2/kafka_2.13-3.7.2.tgz

2.2 解压并创建软链接

bash 复制代码
sudo tar -xzf kafka_2.13-3.7.2.tgz

sudo chown -R $(whoami):$(whoami) kafka kafka_2.13-3.7.2

2.3 配置环境变量

bash 复制代码
echo "export KAFKA_HOME=/usr/local/kaf/kafka" >> ~/.bashrc
echo 'export PATH=$PATH:$KAFKA_HOME/bin' >> ~/.bashrc
source ~/.bashrc

三、配置文件修改

bash 复制代码
/usr/local/kaf/kafka/config/server.properties

vim /usr/local/kaf/kafka/config/server.properties

我一般是把原来的删了,采用这个

bash 复制代码
# broker 唯一标识,单节点设为0,后面多节点再说,目前我这边只用到一个单节点
broker.id=0

# 监听地址:0.0.0.0 表示监听所有网卡
listeners=PLAINTEXT://0.0.0.0:9092

# 本机测试用 localhost;从其他机器访问,填实际IP
advertised.listeners=PLAINTEXT:// 27.192.128.44:9092

# 日志存储目录
log.dirs=/data/kafka-logs

# ZooKeeper 连接地址(使用内置 ZooKeeper 时连接本机2181)
zookeeper.connect=localhost:2181

# 可选优化配置(单节点无需高可用,但为了测试建议设置)
num.partitions=3
default.replication.factor=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

四、启动服务

启动顺序:先 ZooKeeper,后 Kafka

4.1 启动 ZooKeeper(后台运行)

bash 复制代码
cd /usr/local/kaf/kafka

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

4.2 等待几秒后启动 Kafka

bash 复制代码
bin/kafka-server-start.sh -daemon config/server.properties

4.3 检查进程

bash 复制代码
jps

应看到 QuorumPeerMain(ZooKeeper) 和 Kafka 两个进程

4.4 查看日志(如有问题)

bash 复制代码
tail -f /usr/local/kaf/kafka/logs/server.log
bash 复制代码
tail -200f /usr/local/kaf/kafka/logs/zookeeper.out

五、验证部署

5.1 创建测试主题

bash 复制代码
kafka-topics.sh --create \

  --topic test-topic \

  --bootstrap-server localhost:9092 \

  --partitions 3 \

  --replication-factor 1

5.2 查看主题列表

bash 复制代码
kafka-topics.sh --list --bootstrap-server localhost:9092

5.3 查看主题详情

bash 复制代码
kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092

5.4 消息生产与消费测试

打开第一个终端 27.192.128.44(生产者):

bash 复制代码
kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092

输入一些消息,每行一条,例如:

asd

asdasd

fadas

打开第二个终端 27.192.128.44(消费者):

bash 复制代码
kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092

应该立即看到之前输入的消息。

至此,单节点 Kafka 已成功部署并验证。

六、停止服务

停止顺序:先 Kafka,后 ZooKeeper。

bash 复制代码
cd /usr/local/kaf/kafka
bash 复制代码
# 停止 Kafka
bin/kafka-server-stop.sh


# 停止 ZooKeeper
bin/zookeeper-server-stop.sh

Jps一下,看看进程消失没消失即可。

其他的就是写代码链接啥的推送啊消费啥的,主要是我们有一个测试环境要用到,一台足够测试用了。。

相关推荐
折哥的程序人生 · 物流技术专研21 小时前
效率翻倍:出版社多库区复合型 ABC 仓储拣选体系全解(含直发/越库/箱式立库/托盘立库)
大数据
Elastic 中国社区官方博客1 天前
Elasticsearch:智能搜索 - AI builder 及 skills
大数据·人工智能·elasticsearch·搜索引擎·ai·信息可视化·全文检索
跨境摸鱼1 天前
低价模型承压阶段跨境品牌如何把重心转向复购与客单
大数据·人工智能·跨境电商·亚马逊·跨境
果汁华1 天前
LangGraph:构建状态化 AI 代理的革命性编排框架
大数据·人工智能
面向Google编程1 天前
从零学习Kafka:生产者分区机制
大数据·kafka
Jackeyzhe1 天前
从零学习Kafka:生产者分区机制
kafka
盘古信息IMS1 天前
全域场景重构,激活智造新未来!盘古信息机加行业数智化解决方案深度解析
大数据·人工智能
跨境卫士-小汪1 天前
多国站点利润分化加剧跨境卖家如何重新排优先级
大数据·人工智能·产品运营·跨境电商·跨境
精益数智工坊1 天前
物料管理是什么?物料管理的具体工作有哪些?
大数据·前端·数据库·人工智能·精益工程
xixixi777771 天前
全模态原生大脑降临:GPT-5.5(Spud)发布,推理/编码提升30%,百万上下文+原生电脑控制,开启Agent新纪元
大数据·网络·人工智能·gpt·安全·电脑·量子计算