一、前提
安装Kafka之前,需要安装JDK、Zookeeper、Scala,
本次安装版本选择:
 JDK:1.8
 Zookeeper:3.6.4
 Scala:2.12
 Kafka:3.5.2
1、jdk
Java Downloads | Oracle
见jdk下载安装。
2、Zookeeper
下载地址
Apache ZooKeeper
Apache Download Mirrors
下载后安装:
2.1、解压

进入到解压后的文件查看:

2.2、创建data文件夹

2.3、配置文件
(1)进入config目录 ,复制zoo_sample.cfg文件,改名为zoo.cfg,更改zoo_sample.cfg 文件名为 zoo.cfg 的原因为:安装的bin目录下的 zkEnv.cmd文件内指定了使用 zoo.cfg文件。
(若不更改zoo_sample.cfg文件名,也可直接把此文件中的 zoo.cfg 更改为 zoo_sample.cfg)

(2)修改配置文件 zoo.cfg:
把dataDir=/tmp/zookeeper
修改为:
dataDir=D:\\javas\\zk\\apache-zookeeper-3.6.4-bin\\data
注意:此处的路径一定要使用双斜杠" \ ",如果是单斜杠,在启动服务端时会把配置的内容输出到 bin 目录下面)2.4、添加环境变量
①新建环境变量

点击确定

②将新建的环境变量添加到系统变量path中

2.5、启动zk:zkServer
以管理员权限打开cmd命令窗口,输入
zkServer
或者进入到 bin 目录,双击 zkServer.cmd: 
2.6、客户端
客户端连接Zookeeper:zkCli,
以管理员权限打开命令窗口,输入:zkCli

3、Scala
3.1、下载安装
下载地址:https://downloads.lightbend.com/scala/2.11.12/scala-2.11.12.msi
下载后按照提示一步步安装,如我安装在

3.2、配置环境变量
(1)新增环境变量%SCALA_HOME%

(2)%SCALA_HOME%\bin添加到path中
 
3.3、验证是否安装成功
cmd输入:Scala

二、kafka下载安装
version:2.12-3.5.2,表示Scala版本是2.12,Kafka版本是基于此的3.5.2版本。
1、下载
官网下载地址:Index of /kafka/3.5.2 (apache.org)

2、安装
2.1、解压
如我解压到D:\javas\kafka\kafka_2.12-3.5.2


2.2、新建logs目录
 2.3、修改配置文件
 2.3、修改配置文件
 
修改Kafka配置文件 server.properties
文件路径:D:\javas\kafka\kafka_2.12-3.5.2\config\server.properties
2.3.1、修改 log.dirs 参数
修改 log.dirs 参数值,修改成上一步新建的logs文件夹。注意文件夹路径中是双左斜杠
log.dirs=D:\\javas\\kafka\\kafka_2.12-3.5.2\\logs2.3.2、修改 listeners 参数
listeners=PLAINTEXT://localhost:9092

3、启动
(1)启动zk:
由于Kafka依赖于Zookeeper,所以要先启动Zookeeper,cmd输入zkServer即可启动zk。
(2)启动kafka:
管理员权限打开命令窗口,进入到Kafka安装目录(D:\javas\kafka\kafka_2.12-3.5.2)。
 输入如下命令启动Kafka服务:
.\bin\windows\kafka-server-start.bat .\config\server.properties

4、kafka操作
Kafka2.2之后版本中使用–zookeeper hadoop01:2181会出现报错情况,2.2之后的版本使用了–bootstrap-server hadoop01:9092来替换–zookeeper hadoop01:2181。
以下命令均在D:\javas\kafka\kafka_2.12-3.5.2\bin\windows目录下:
4.1、创建topic
cmd打开一个新窗口:

kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test

4.2、查看topic列表
kafka-topics.bat --bootstrap-server localhost:9092 --list

4.3、创建生产者
cmd打开一个新窗口
kafka-console-producer.bat --broker-list localhost:9092 --topic test
 
 
4.4、创建消费者
cmd打开一个新窗口

4.5、测试收发消息
(1)在producer(生产者)控制台窗口输入消息:

(2)在consumer(消费者)控制台窗口查看消息:

注意:收不到消息,常见情况
- 在consumer没有打开之前,就在producer里面发送了消息
- producer和consumer使用的topic不一致