20190312 Windows安装Kafka

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:Developkafka2.11-2.1.1kafka_2.11-2.1.1> .inwindowskafka-server-start.bat .configserver.properties
命令语法不正确。
错误: 找不到或无法加载主类 FilesJavajdk1.8.0_151lib;C:Program

我当前的JAVA_HOME是

E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>echo %JAVA_HOME%
C:Program FilesJavajdk1.8.0_151

修改为:

C:Javajdk1.8.0_151

修改后,也会提示:

命令语法不正确。

但是,确实是正常启动。

2.4. 测试启动成功

2.4.1. 创建一个topic

E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>  .inwindowskafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
错误: 找不到或无法加载主类 FilesJavajdk1.8.0_151lib;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:Developkafka2.11-2.1.1kafka_2.11-2.1.1>.inwindowskafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".

2.4.2. 查看topic的list

E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>.inwindowskafka-topics.bat --list --zookeeper localhost:2181
test

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

生产者:

E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>.inwindowskafka-console-producer.bat --broker-list localhost:9092 --topic test
>abcd
>xxx
>

消费者:

E:Developkafka2.11-2.1.1kafka_2.11-2.1.1>.inwindowskafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
abcd
xxx

参考资料

Kafka官网

原文地址:https://www.cnblogs.com/huangwenjie/p/10518549.html