准备
- 安装JDK
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
- 下载kafka_2.12-2.1.1
http://kafka.apache.org/downloads
https://archive.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz - 解压kafka_2.12-2.2.1.tgz
- 设置KAFKA_HOME的路径并把它添加到PATH里
配置
- 修改KAFKA_HOME/config/server.properties
# A comma separated list of directories under which to store log files
log.dirs=D:/log/kafka
- 修改KAFKA_HOME/config/zookeeper.properties
# the directory where the snapshot is stored.
dataDir=D:/log/zookeeper
启动
- 进入KAFKA_HOME/bin/windows目录
- 启动zookeeper
命令:
zookeeper-server-start.bat ..\..\config\zookeeper.properties
输出
[2020-09-21 22:32:02,335] INFO Using org.apache.zookeeper.server.NIOServerCnxnFactory as server connection factory (org.apache.zookeeper.server.ServerCnxnFactory)
[2020-09-21 22:32:02,341] INFO binding to port 0.0.0.0/0.0.0.0:2181 (org.apache.zookeeper.server.NIOServerCnxnFactory)
- 启动kafka
命令:
kafka-server-start.bat ..\..\config\server.properties
输出:
[2020-09-21 22:35:23,257] INFO Kafka version : 2.1.1 (org.apache.kafka.common.utils.AppInfoParser)
[2020-09-21 22:35:23,258] INFO Kafka commitId : 21234bee31165527 (org.apache.kafka.common.utils.AppInfoParser)
[2020-09-21 22:35:23,280] INFO [KafkaServer id=0] started (kafka.server.KafkaServer)
- pub/subscription
- 创建topic
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mytopic
- 查看topic
kafka-topics.bat --list --zookeeper localhost:2181
- 启动Publisher
kafka-console-producer.bat --broker-list localhost:9092 --topic mytopic
- 启动Subscriber
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic mytopic --from-beginning
这里可以启动多个subscriber