步骤1:取得KAFKA

下载 最新的Kafka版本并解压缩:

$ tar -xzf kafka_2.13-2.7.0.tgz
$ cd kafka_2.13-2.7.0

步骤2:启动KAFKA环境

注意:您的本地环境必须安装了Java 8+。

运行以下命令以正确的顺序启动所有服务:
#启动zookeeper
$ bin/zookeeper-server-start.sh config/zookeeper.properties

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

#启动Kafkaservice
$ bin/kafka-server-start.sh config/server.properties

成功启动所有服务后,您将运行并可以使用基本的Kafka环境。

步骤3:建立主题以储存您的活动

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

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

因此,在编写第一个事件之前,必须创建一个主题。
打开另一个终端会话,创建一个叫做quickstart-events的主题并运行:

$ bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

Kafka的所有命令行工具都具有其他选项:kafka-topics.sh不带任何参数的命令即可显示使用情况信息。例如,它还可以向您显示 详细信息,例如 新主题的分区数:

$ bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092
Topic:quickstart-events  PartitionCount:1    ReplicationFactor:1 Configs:
    Topic: quickstart-events Partition: 0    Leader: 0   Replicas: 0 Isr: 0

步骤4:将一些事件写入主题

Kafka客户端通过网络与Kafka经纪人进行通信,以编写(或读取)事件。一旦收到,经纪人将以持久和容错的方式存储事件,只要您需要,甚至是永久的。

运行控制台生产者客户端,将一些事件写入您的主题。默认情况下,您输入的每一行都会导致将一个单独的事件写入该主题。

$ bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
>hello
>i love you

您可以随时停止生产者客户端Ctrl-C。

步骤5:阅读事件

打开另一个终端会话并运行控制台使用者客户端以读取您刚刚创建的事件:

$ bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092
hello
i love you

您可以随时停止消费者客户Ctrl-C。

随时尝试:例如,切换回生产者终端(上一步)以编写其他事件,并查看事件如何立即在您的消费者终端中显示。

因为事件被持久地存储在Kafka中,所以您可以根据需要任意多次地读取它们。您可以通过打开另一个终端会话并再次重新运行上一个命令来轻松地验证这一点。

步骤6:关闭

使用Ctrl-C
producer和consumer当然使用Ctrl-C
如果想关闭kafka服务,也是Ctrl-C,请先关闭kafkaservice,然后关闭zookeeper