kafka作为开源的分布式消息通信框架,可以在有jvm的机器上部署、运行。这里介绍在windows7上的部署,kafka内部自带了zookeeper,如果单机简单部署,可以不用另外下载部署zookeeper.
1、下载的kafka_2.11解压到E盘,目录结构如下:
2、修改文件(针对JAVA_HOME目录有空格的)
修改 kafka-run-class.bat
-cp “%CLASSPATH%”
如果CLASSPATH含有空格.那么,用双引号将%CLASSPATH%包起来,否则会报错找不到主类xxx
3、依次启动zookeeper,kafka,创建Topic,启动生产者测试,启动消费者测试消息
###a)进入目录,执行kafka的命令会带有输出日志,因此需要再开窗口,反复执行以下操作,或者快速的方式,进入kafka/bin/windows文件系统,按住shift,鼠标右键选择"在此处打开命令窗口"
E:
cd kafka_2.11
cd bin
cd windows
###b)启动zookeeper
E:\kafka_2.11\bin\windows>zookeeper-server-start.bat …/…/config/zookeeper.properties
###c)启动kafka
E:\kafka_2.11\bin\windows>kafka-server-start.bat …/…/config/server.properties
###d)新建topic
E:\kafka_2.11\bin\windows>kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 1 --topic test
###e)验证
E:\kafka_2.11\bin\windows>kafka-topics.bat --list --zookeeper 127.0.0.1:2181
或者
E:\kafka_2.11\bin\windows>kafka-topics.bat --describe --zookeeper 127.0.0.1:2181 --topic test
###f)启动生产者(启动之后可以输入消息并回车,消费者接入之后,可以查看输入的消息)
E:\kafka_2.11\bin\windows>kafka-console-producer.bat --broker-list 127.0.0.1:9092 --topic test
###g)启动消费者查看消费
E:\kafka_2.11\bin\windows>kafka-console-consumer.bat --zookeeper 127.0.0.1:2181 --topic test --from-beginning
这种操作会提示以下内容但是不会报错
Using the ConsoleConsumer with old consumer is deprecated and will be removed in a future major release. Consider using the new consumer by passing [bootstrap-server] instead of [zookeeper].
使用推荐的参数方式启动消费者控制台查看消息
E:\kafka_2.11\bin\windows>kafka-console-consumer.bat --bootstrap-server 127.0.0.1:9092 --topic test --from-beginning