文章目录
- 前言
- 环境准备
- 第1步 获取 KAFKA
- 方式一 手动下载和上传
- 方式二 wget命令直接下载
- 解压压缩包
- 第2步 启动KAFKA环境
- 第3步 创建一个topic存储事件
- 创建topic
- 查看topic列表
- 查看指定topic详情
- 删除topic
- topic查看帮助
- 第4步 测试写入和读取事件
- 1. 将一些事件写入topic
- 2. 读取事件
前言
Kafka是消息中间件的一种,可以用于消息队列的处理。
Kafka官网地址:https://kafka.apache.org/
本章的官方参考资料 https://kafka.apache.org/documentation/#introduction
环境准备
kafka依赖java,需要满足Java8+以上,请确保是否已安装Java8+
如果你没有安装java8+,请见yum安装和卸载JDK
java -version
第1步 获取 KAFKA
方式一 手动下载和上传
下载地址:https://kafka.apache.org/downloads,版本可以自行选择,本章使用的版本是3.2.0
将下载的压缩包上传到自己定义的目录下。
方式二 wget命令直接下载
或者也可以在服务器上通过wget命令下载压缩包(国内的下载速度可能会比较慢)
wget --no-check-certificate https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz
解压压缩包
解压压缩包
#解压文件
tar -xzf kafka_2.13-3.2.0.tgz
#修改文件夹名称
mv kafka_2.13-3.2.0 kafka
#进入文件夹
cd kafka/
第2步 启动KAFKA环境
运行以下命令以按正确顺序启动所有服务
# Start the ZooKeeper service
bin/zookeeper-server-start.sh config/zookeeper.properties
zookeeper的默认端口是 2181
打开另一个终端会话并运行
# Start the Kafka broker service
bin/kafka-server-start.sh config/server.properties
kafka的默认端口是 9092
实际上到这里,已经kafka已经下载和安装完成了,后面的内容是topic的操作,以及生产者消费者测试。
第3步 创建一个topic存储事件
Kafka 是一个分布式事件流平台,可让您跨多台机器 读取、写入、存储和处理 事件(在文档中也称为记录或 消息)。
示例事件包括支付交易、手机的地理位置更新、运输订单、物联网设备或医疗设备的传感器测量等等。这些事件被组织并存储在 主题中。非常简化,主题类似于文件系统中的文件夹,事件是该文件夹中的文件。
创建topic
打开新的一个终端会话并运行
bin/kafka-topics.sh --create --topic hello --bootstrap-server localhost:9092
查看topic列表
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
查看指定topic详情
bin/kafka-topics.sh --describe --topic hello --bootstrap-server localhost:9092
删除topic
bin/kafka-topics.sh --delete --bootstrap-server localhost:9092 --topic hello
topic查看帮助
bin/kafka-topics.sh --help
第4步 测试写入和读取事件
注意: 测试时,请同时将写入和读取都打开。
1. 将一些事件写入topic
Kafka 客户端通过网络与 Kafka 代理通信以写入(或读取)事件。一旦收到,代理将以持久和容错的方式存储事件,只要您需要 - 甚至永远。
运行控制台生产者客户端将一些事件写入您的主题。默认情况下,您输入的每一行都会导致将一个单独的事件写入主题。
bin/kafka-console-producer.sh --topic hello --bootstrap-server localhost:9092
2. 读取事件
打开另一个终端,并运行命令,读取客户端刚刚写入的事件
bin/kafka-console-consumer.sh --topic hello --from-beginning --bootstrap-server localhost:9092
到这里的测试成功,则表示kafka可以正常使用。