Centos 安装部署 Kafka 并测试
背景介绍
临近年底,最近在本地虚拟机部署Kafka,并通过命令方式来测试生产者和消费者,这里记录下来,方便查看。 环境前置:JDK 环境
一、搭建 Zookeeper 环境
第一步、下载安装包
推荐 官网地址 zookeeper 3.6.3 下载,这里选择的是3.6.3版本。
注意:从 3.5.5开始,选择 ==带有bin名称的包==,否则可能报错。 错误:找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain
第二步、启动zookeeper
// 启动
bin/zkServer.sh start
// 查看启动
ps -ef | grep zookeeper
启动后界面如下图所示。 查看启动zookeeper启动进程,如下图所示。
二、搭建 Kafka 环境并测试
第一步、下载kafka
推荐 Kakfa 官网 下载,这里下载的是 kafka 2.13 版本。
第二步、修改配置
进入 config 文件夹下,修改配置文件 server.properties,可能修改的有四处。
// 修改配置,broker 编号,集群环境需修改
broker.id=0
// broker 对外服务入口地址,这里放开注释
listeners=PLAINTEXT://:9092
// 设置放日志文件的地址,这里在 kafka 下新建了data文件夹
log.dirs=/opt/kafka/logs/kafka-logs
// 所需zookeeper 集群地址,这里都在同一台虚拟机,暂时无需修改
zookeeper.connect=192.168.184.136:2181
第三步、启动 Kafka
linux下通过 kafka-server-start.sh 来启动。
// 启动
bin/kafka-server-start.sh config/server.properties
// 查看
ps -ef | grep kafka
// 或者 jps 命令查看进程
jps -l
启动结果如下图所示。 jps 命令查看如下图所示。
第四步、创建主题
运用 ==kafka-topics.sh== 来创建主题 heno
// 创建主题
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic heno --partitions 2 --replication-factor 1
// 查看主题 list
bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
// 查看详情 describe
bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic heno
查看 主题详情如下图所示。
第五步、消费者消费消息
运用 ==kafka-console-consumer.sh== 来开启消费者监听。
// 开启heno主题的消费
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic heno
当主题heno下有生产者产生消息时,消费者会监听到并消费消息,效果如下图所示。
第六步、生产者发送消息
运用 ==kafka-console-producer.sh== 来开启生产者生成消息。重新开启窗口,等待以下命令执行后,在控制台 > 输入状态,这里输入的是 hello kafka。此时看 第四步 消费者等待界面,会消费这条消息。
// 生产端
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic heno
效果如下图所示。 以上就是kafka部署和测试的过程,可以动手试试~
错误处理
1、虚拟机内存不足 错误:OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then 处理方案:扩大虚拟机内存大小 至少2G,2核。 2、创建主题报错 错误:in thread “main” joptsimple.UnrecognizedOptionException: zookeeper is not a recognized option 处理方案:使用 –bootstrap-server localhost:9092
博客参考
【1】https://blog.csdn.net/weixin_45865428/article/details/121264496