目录
1 前言
kafka_2.11-2.0.0自带zookeeper
2 下载
官网地址:http://kafka.apache.org/downloads
(tips:用迅雷下载似乎更快)
3 解压
直接解压.tgz文件,解压后为.tar,再解压.tar才得到文件夹
我将它复制到了D:\Programs目录下
4 配置
4.1 zookeeper.properties
修改D:\Programs\kafka_2.11-2.0.0\config\zookeeper.properties文件中的log.dirs,将其设置为自己想要存放的目录:
dataDir=D:\\Programs\\kafka_2.11-2.0.0\\tmp\\data\\zookeeper
4.2 server.properties
修改D:\Programs\kafka_2.11-2.0.0\config\server.properties文件中的log.dirs,将其设置为自己想要存放的目录:
log.dirs=D:\\Programs\\kafka_2.11-2.0.0\\tmp\\logs\\kafka-logs
4.3 kafka-run-class.bat
设置D:\Programs\kafka_2.11-2.0.0\bin\windows\kafka-run-class.bat文件中的LOG_DIR变量,将其设置为自己想要存放的目录:
set LOG_DIR=D:\\Programs\\kafka_2.11-2.0.0\\tmp\\logs\\logs
5 运行
两条命令搞定,一个cmd窗口运行一个,先启动zookeeper,再启动server(此处采用的完整路径):
D:\Programs\kafka_2.11-2.0.0\bin\windows\zookeeper-server-start.bat D:\Programs\kafka_2.11-2.0.0\config\zookeeper.properties
D:\Programs\kafka_2.11-2.0.0\bin\windows\kafka-server-start.bat D:\Programs\kafka_2.11-2.0.0\config\server.properties
我采用bat运行,如下所示:
再将他们发送到桌面快捷方式就爽歪歪,开盖即食
(tips:有时候Kafka会闪退,再启动一次就好了,或者多次,闪退原因就不知道了,哈哈哈哈)
6 测试
先启动producer(生产者,发送消息),再启动consumer(消费者,接收消息),命令如下:
D:\Programs\kafka_2.11-2.0.0\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
D:\Programs\kafka_2.11-2.0.0\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test
7 部分解释说明
如果不设置LOG_DIR变量,那么,D盘下就会有一个logs文件,内容如下:
设置之后这些文件就保存在自己设置的位置
之前一直有疑问,为什么我的D盘会平白无故的多出一个logs文件夹,就是因为没有设置LOG_DIR变量,它是这么处理的:
D:\Programs\kafka_2.11-2.0.0\bin\windows\kafka-run-class.bat文件:
如果该变量为空,就自动设置一个目录,取BASE_DIR变量(~不知道啥意思……)在加上logs文件夹,BASE_DIR如下:
%CD%表示取当前运行命令窗口所在目录,示例:
但是加上~之后,就没东西了……
从实际结果来看,~有可能是取根目录的,所以才会导致在D盘会平白无故的多出一个logs文件夹(这个语法我猜的,哈哈哈哈)
总之,设置了LOG_DIR之后,那些文件就乖乖在这“石榴裙”下了
(PS:不知道是否会有啥后遗症,后面用用看吧)