文章目录

  • 前言
  • 环境准备
  • 第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

kafka karft各端口说明 kafka默认端口号_linux

第1步 获取 KAFKA

方式一 手动下载和上传

下载地址:https://kafka.apache.org/downloads,版本可以自行选择,本章使用的版本是3.2.0

kafka karft各端口说明 kafka默认端口号_linux_02

将下载的压缩包上传到自己定义的目录下。

kafka karft各端口说明 kafka默认端口号_kafka_03

方式二 wget命令直接下载

或者也可以在服务器上通过wget命令下载压缩包(国内的下载速度可能会比较慢)

wget --no-check-certificate https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz

kafka karft各端口说明 kafka默认端口号_bootstrap_04

解压压缩包

解压压缩包

#解压文件
tar -xzf kafka_2.13-3.2.0.tgz  
#修改文件夹名称
mv kafka_2.13-3.2.0 kafka 
#进入文件夹      
cd kafka/

kafka karft各端口说明 kafka默认端口号_kafka karft各端口说明_05

第2步 启动KAFKA环境

运行以下命令以按正确顺序启动所有服务

# Start the ZooKeeper service
bin/zookeeper-server-start.sh config/zookeeper.properties

kafka karft各端口说明 kafka默认端口号_spring boot_06


zookeeper的默认端口是 2181

打开另一个终端会话并运行

# Start the Kafka broker service
bin/kafka-server-start.sh config/server.properties

kafka karft各端口说明 kafka默认端口号_kafka karft各端口说明_07


kafka的默认端口是 9092

实际上到这里,已经kafka已经下载和安装完成了,后面的内容是topic的操作,以及生产者消费者测试。

第3步 创建一个topic存储事件

Kafka 是一个分布式事件流平台,可让您跨多台机器 读取、写入、存储和处理 事件(在文档中也称为记录或 消息)。

示例事件包括支付交易、手机的地理位置更新、运输订单、物联网设备或医疗设备的传感器测量等等。这些事件被组织并存储在 主题中。非常简化,主题类似于文件系统中的文件夹,事件是该文件夹中的文件。

创建topic

打开新的一个终端会话并运行

bin/kafka-topics.sh --create --topic hello --bootstrap-server localhost:9092

kafka karft各端口说明 kafka默认端口号_kafka karft各端口说明_08

查看topic列表

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

kafka karft各端口说明 kafka默认端口号_bootstrap_09

查看指定topic详情

bin/kafka-topics.sh --describe --topic hello --bootstrap-server localhost:9092

kafka karft各端口说明 kafka默认端口号_spring boot_10

删除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

kafka karft各端口说明 kafka默认端口号_spring boot_11

2. 读取事件

打开另一个终端,并运行命令,读取客户端刚刚写入的事件

bin/kafka-console-consumer.sh --topic hello --from-beginning --bootstrap-server localhost:9092

kafka karft各端口说明 kafka默认端口号_kafka_12


到这里的测试成功,则表示kafka可以正常使用。