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:\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