一、安装JAVA JDK
1、下载安装包
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
注意:根据32/64位操作系统下载对应的安装包
2、添加系统变量:JAVA_HOME=C:\Program Files (x86)\Java\jdk1.8.0_144
二、安装ZooKeeper
1、 下载安装包
http://zookeeper.apache.org/releases.html\#download
2、 解压并进入ZooKeeper目录,如:D:\Kafka\zookeeper-3.4.9\conf
3、 将“zoo_sample.cfg”重命名为“zoo.cfg”
4、 打开“zoo.cfg”找到并编辑dataDir=D:\Kafka\zookeeper-3.4.9\tmp(必须以\分割)
5、 添加系统变量:ZOOKEEPER_HOME=D:\Kafka\zookeeper-3.4.9
6、 编辑path系统变量,添加路径:%ZOOKEEPER_HOME%\bin
7、 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)
8、 打开新的cmd,输入“zkServer“,运行Zookeeper
9、 命令行提示如下:说明本地Zookeeper启动成功
注意:不要关了这个窗口
zookeeper启动无法找到主类:使用zookeeper3.5.x的版本会出现你描述的问题,把版本还为3.4.x后可以解决该问题。
三、安装Kafka
1、 下载安装包
http://kafka.apache.org/downloads
注意要下载二进制版本
2、 解压并进入Kafka目录,笔者:D:\Kafka\kafka_2.12-0.11.0.0
3、 进入config目录找到文件server.properties并打开
4、 找到并编辑log.dirs=D:\Kafka\kafka_2.12-0.11.0.0\kafka-logs
5、 找到并编辑zookeeper.connect=localhost:2181
6、 Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181
7、 进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:
1
2
3
4 1.\bin\windows\kafka-server-start.bat .\config\server.properties
2或bin\kafka-server-start.sh config\server.properties
3
4
注意:注意:不要关了这个窗口,启用Kafka前请确保ZooKeeper实例已经准备好并开始运行
四、测试
(linux直接在bin目录下.sh,windows需要进入bin\winndows下的.bat)
1、 创建主题,进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:
1
2 1.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
2
注意:不要关了这个窗口
2、查看主题输入:
1
2 1.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181
2
3、 创建生产者,进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:
1
2 1.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
2
注意:不要关了这个窗口
4、创建消费者,进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:
1
2 1.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
2
此时,往生产者窗口写入消息,消费者窗口也能同步的接收到消息
5、查看topic,进入Kafka安装目录D:\Kafka\kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:
1
2
3 1 .\bin\windows\kafka-topics.bat --describe --zookeeper localhost:2181 --topic
2test
3
6、 重要(操作日志的处理):
kafka启动后,如果你去查看kafka所在的根目录,或者是kafka本身的目录,会发现已经默认生成一堆操作日志(这样看起来真心很乱):
而且会不断生成不同时间戳的操作日志。刚开始不知所措,一番研究后,看了启动的脚本内容,发现启动的时候是会默认使用到这个log4j.properties文件中的配置,而在zoo.cfg是不会看到本身的启动会调用到这个,还以为只有那一个日志路径:
在这里配置一下就可以了,找到config下的log4j.properties:
将路径更改下即可,这样就可以归档在一个文件夹下边了,路径根据自己喜好定义:
另外如何消除不断生成日志的问题,就是同一天的不同时间会不停生成。
修改这里,还是在log4j.properties中:
本身都为trace,字面理解为会生成一堆跟踪日志,将其改为INFO即可。