# 1 kafka简介

Apache Kafka是分布式发布 - 订阅消息系统。
官网:http://kafka.apache.org

用途:收集大数据、进行实时分析和处理实时数据流,
每秒超过一百万条消息。

特性:Kafka 速度快、体积大、可靠性高。

应用场景有:日志收集系统和消息系统。

1.1 kafka基本架构

Kafka 消息传递架构由三个组件组成:生产者、 Kafka代理和消费者。

kafka有哪些模块_kafka有哪些模块


Kafka 的架构包括以下组件:

1、生产者(Producer):发布消息;

2、服务代理(Broker):已发布的消息保存在一组服务器中,它们被称为代理(Broker)或 Kafka 集群;

3、消费者(Consumer):可以订阅一个或多个话题,并从 Broker接收的消息;

生产者将数据发送到 Broker 代理,Broker 代理有多个话题 topic ,消费者从 Broker 获取数据。。

1.2 kafka消息

主题(Topic):是特定类型的消息流。消息是字节的有效负载(Payload),主题是消息的分类名;
分区(partition): 所有主题都划分为分区,分区可以放在不同的代理上。

# 2 kafka的下载与安装

2.1 kafka的下载

下载地址:https://archive.apache.org/dist/kafka/ 这里下载的版本:kafka_2.12-3.3.1.tgz

2.2 kafka的安装

第1步:下载到E盘,下载之后解压即可。

kafka有哪些模块_java_02


解压后修改文件名为kafka(路径去掉版本号,简单一些)。

进入bin目录可以看到已经内置支持zookeeper了。

kafka有哪些模块_kafka_03

第2步:当前目录创建两个文件夹data、kafka-logs;

kafka有哪些模块_zookeeper_04

第3步:config目录下,打开zookeeper的配置文件zookeeper.properties;修改数据存储的路径:

kafka有哪些模块_windows_05

第4步:config目录下,打开kafka的配置文件server.properties;修改服务host和日志存储的路径:

kafka有哪些模块_kafka有哪些模块_06


kafka有哪些模块_windows_07

# 3 kafka的启动测试

第1步:启动ZooKeeper服务;
输入命令:

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

kafka有哪些模块_zookeeper_08

第2步:启动kafka服务:
输入命令:

.\bin\windows\kafka-server-start.bat .\config\server.properties

kafka有哪些模块_kafka_09


第3步:创建topic;test

输入命令:

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic testkafka-topics.bat --create --bootstrap-server  localhost:2181 --replication-factor 1 --partitions 1 --topic test

第4步:打开新的cmd窗口,启动producer;
输入命令:

.\bin\windows\ testkafka-console-producer.bat --broker-list localhost:9092 --topic test

kafka有哪些模块_java_10


然后就可以发送消息;

第5步:打开新的cmd窗口,启动consumer;
输入命令:

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test

kafka有哪些模块_kafka_11


第6步:producer窗口发送“hello kafka!”,consumer窗口收到消息:

kafka有哪些模块_kafka有哪些模块_12


说明kafka启动测试成功。