20190312 Windows安装Kafka

时间:2021-12-21 17:41:59

1. 下载

使用版本2.1.1

官网下载地址

2. 安装

2.1. 前提

已安装ZooKeeper,可参考 20190311 Windows安装ZooKeeper 进行安装ZooKeeper

2.2. 修改config/server.properties配置文件

log.dirs=E:\\Develop\\kafka\\2.11-2.1.1\\kafka_2.11-2.1.1\\kafka-logs

2.3. 启动ZooKeeper,成功后,启动Kafka

第一次启动报错,原因是环境变量中的JAVA_HOME中路径中不能有空格

PS E:\Develop\kafka\2.11-2.1.1\kafka_2.11-2.1.1> .\bin\windows\kafka-server-start.bat .\config\server.properties
命令语法不正确。
错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_151\lib;C:\Program

我当前的JAVA_HOME是

E:\Develop\kafka\2.11-2.1.1\kafka_2.11-2.1.1>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.8.0_151

修改为:

C:\Java\jdk1.8.0_151

修改后,也会提示:

命令语法不正确。

但是,确实是正常启动。

2.4. 测试启动成功

2.4.1. 创建一个topic

E:\Develop\kafka\2.11-2.1.1\kafka_2.11-2.1.1>  .\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_151\lib;C:\Program

在网上查询后,找到解决方案,修改bin/windows/kafka-run-class.bat第179行,为%CLASSPATH%加上双引号

set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp "%CLASSPATH%" %KAFKA_OPTS% %*

再次运行创建命令,创建成功

E:\Develop\kafka\2.11-2.1.1\kafka_2.11-2.1.1>.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".

2.4.2. 查看topic的list

E:\Develop\kafka\2.11-2.1.1\kafka_2.11-2.1.1>.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
test

2.4.3. 启动生产者和消费者进行通信

生产者:

E:\Develop\kafka\2.11-2.1.1\kafka_2.11-2.1.1>.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
>abcd
>xxx
>

消费者:

E:\Develop\kafka\2.11-2.1.1\kafka_2.11-2.1.1>.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
abcd
xxx

参考资料

Kafka官网