参考 https://blog.csdn.net/tiantangdizhibuxiang/article/details/80556064
kafka使用依赖于zookeeper,两个都要下载 1.下载ZooKeeper https://zookeeper.apache.org/releases.html 选第一个,一定要是名字带bin的那个 ,不能是源码包 (带source) 否则zkserver 启动时报以下错 环境变量 jdk三个要先配好 ZOOKEEPER_HOME: D:\apache-zookeeper-3.6.2-bin path: ;%ZOOKEEPER_HOME%\bin; conf文件中zoo_sample.cfg重命名为zoo.cfg ,zoo_sample.cfg代表样本配置,启动zookeeper是默认找的是zoo.cfg,所以名字要改 打开后修改 dataDir=D:\apache-zookeeper-3.6.2-bin\data D:\apache-zookeeper-3.6.2-bin是我的zookeeper目录 貌似这么写才能打印到当前目录dataDir=data cmd执行 zkserver 启动 ZooKeeper ------------------------------------------------------------------ 2.kafka下载 http://kafka.apache.org/downloads.html 注意要下载Binary的那两个之一,不能是源码包(带source) 否则 .\bin\windows\kafka-server-start.bat .\config\server.properties 报以下错 注意两个文件中间有空格 conf中server.properties打开修改log.dirs=D:\kafka_2.12-2.7.0\kafka-logs D:\kafka_2.12-2.7.0是我的kafka目录 貌似这么写才能打印到当前目录log.dirs=kafka-logs 配置总的来说就两步 zookeeper: 环境变量 除了系统环境变量,用户环境变量也要设置。。。 ZOOKEEPER_HOME D:\mycarrer\centre\apache-zookeeper-3.6.2-bin path ;%ZOOKEEPER_HOME%\bin; 日志目录 zoo_sample.cfg dataDir = D:\mycarrer\centre\apache-zookeeper-3.6.2-bin\data kafka 日志目录 server.properties log.dirs=D:\mycarrer\centre\kafka_2.12-2.7.0\kafka-logs *总体执行步骤 5步,打开5个窗口,在生产者窗口写消息后再消费者窗口可以实时接收 注:这5步是window测试, 在java应用中,只需要前2步,其他在代码中指定即可! zookeeper默认对口是2181, kafka-broker,也就是kafka服务- 默认端口是9092,producer往进写,consumer往出读! 1.启动zookeeper cmd执行zkserver 2.启动kafka 进入D:\kafka_2.12-2.7.0 //cmd先输入D: 进入D盘 ,然后输入cd D:\kafka_2.12-2.7.0才能进入 .\bin\windows\kafka-server-start.bat .\config\server.properties 3.创建主题 进入D:\kafka_2.12-2.7.0\bin\windows kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 4.创建生产者 进入D:\kafka_2.12-2.7.0\bin\windows kafka-console-producer.bat --broker-list localhost:9092 --topic test 5.创建消费者 进入D:\kafka_2.12-2.7.0\bin\windows kafka-console-consumer.bat --zookeeper localhost:2181 --topic test 旧版 kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test 使用旧版消费者命令会报以下错 使用git操作时命令需要变动,否则报错 例如zkserver要变成zkServer.cmd 另外,在linux环境需要注意, 1.使用.sh非.bat或.cmd 2.命令启动.\估计要用./