windows环境安装kafka


安装kafka之前先安装JDK.....

一:安装Zookeeper 
Kafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper 

1:下载安装文件:https://download.csdn.net/download/weixin_33446857/10624824

2:解压文件(本文解压到 H:\JAVA\yingyong\kafka) 

3:打开H:\JAVA\yingyong\kafka\zookeeper-3.4.6\conf,把zoo_sample.cfg重命名成zoo.cfg

更改前:


更改后:


4: 在任意文本编辑器(如notepad)中打开zoo.cfg,修改dataDir保存路径

如:dataDir=H:/JAVA/yingyong/kafka/zookeeper-3.4.6/logs

或者 dataDir=H:\\JAVA\\yingyong\\kafka\\zookeeper-3.4.6\\logs

(路径根据自己实际需要设置)

注意:路径要么是"/"分割,要么是转义字符"\\",这样会生成正确的路径(层级,子目录)。

默认端口是2181,如果需要更改也可以在zoo.cfg里面修改  (本文未做修改)

clientPort=2181

更改前:


更改后:


5: 添加系统变量:ZOOKEEPER_HOME= H:\JAVA\yingyong\kafka\zookeeper-3.4.6

(路径根据自己实际更改)

编辑path系统变量,添加路径:%ZOOKEEPER_HOME%\bin

6:打开cmd,输入zkServer,运行Zookeeper。

7:命令行提示如下:说明本地Zookeeper启动成功

恭喜,Zookeeper已经安装完成,已在2181端口运行。

注意:不要关了这个(cmd)窗口

二:安装并运行Kafka 
1:下载地址:https://download.csdn.net/download/weixin_33446857/10624845

2:解压文件(本文解压到 H:\JAVA\yingyong\kafka)

3:进入kafka配置文件所在目录,H:\JAVA\yingyong\kafka\kafka_2.11-0.10.0.1\config,使用任意文本编辑器(如notepad)中打开

server.properties文件,

将log.dirs=/tmp/kafka-logs更改为:

log.dirs=H:/JAVA/yingyong/kafka/kafka_2.11-0.10.0.1/kafka-logs

或者

log.dirs=H:\\JAVA\\yingyong\\kafka\\kafka_2.11-0.10.0.1\\kafka-logs

同样注意:路径要么是"/"分割,要么是转义字符"\\",这样会生成正确的路径(层级,子目录)。

4:在server.properties文件中,zookeeper.connect=localhost:2181代表kafka所连接的zookeeper所在的服务器IP以及端口,可根据需要更改。本文在同一台机器上使用,故不用修改。

5:kafka会按照默认配置,在9092端口上运行,并连接zookeeper的默认端口2181。

三:运行kafka
提示:请确保启动kafka服务器前,Zookeeper实例已经在运行,因为kafka的运行是需要zookeeper这种分布式应用程序协调服务。

1:打开cmd,进入kafka安装目录,H:\JAVA\yingyong\kafka\kafka_2.11-0.10.0.1

2:在命令行中输入:.\bin\windows\kafka-server-start.bat .\config\server.properties   回车。

如果出现:

解决:在kafka安装目录中找到bin\windows目录中的kafka-run-class.bat中,加" "号,如下
修改前: 
set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %* 

修改后: 

set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp "%CLASSPATH%" %KAFKA_OPTS% %*

保存完成后,再次执行  .\bin\windows\kafka-server-start.bat .\config\server.properties

正常情况 如下图:

到目前为止,zookeeper以及kafka都已正确运行。保持运行状态,不要关闭。

 
重要(操作日志的处理):
kafka启动后,在kafka安装目录下有个logs目录,里面默认生成一堆操作日志,而且会不断生成不同时间戳的操作日志。(这样看起来真心很乱):

这是因为,启动的时候是会默认使用到config目录下log4j.properties文件中的配置

找到config下的log4j.properties

编辑log4j.properties,将路径更改下即可,这样就可以归档在一个文件夹下边了,路径根据自己喜好定义:

当以后再启动kafka时,会在kafka安装目录下创建start-logs目录,里面存放日志。

另外如何消除不断生成日志的问题,就是同一天的不同时间会不停生成。

修改这里,还是在log4j.properties中:

本身都为trace,字面理解为会生成一堆跟踪日志,将其改为INFO即可。

测试:
(1):创建主题
①创建主题,命名为"test20190916",replicationfactor=1(因为只有一个kafka服务器在运行)。可根据集群中kafka服务器个数来修改replicationfactor的数量,以便提高系统容错性等。

②在G:\kgdxkj\yingyong\kafka_2.11-0.10.0.1\kafka_2.11-0.10.0.1\bin\windows目录下打开新的命令行(cmd)

③输入命令:

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test20190916

执行完毕之后,此窗口可以关闭。

(2):创建生产者(producer)和消费者(consumer)
①在G:\kgdxkj\yingyong\kafka_2.11-0.10.0.1\kafka_2.11-0.10.0.1\bin\windows目录下打开新的命令行(cmd)。

②输入命令,启动生产者:

kafka-console-producer.bat --broker-list localhost:9092 --topic test20190916

该窗口不要关闭。

③同样在该目录下打开新的命令行。

④输入命令,启动消费者:

kafka-console-consumer.bat --zookeeper localhost:2181 --topic test20190916 

该窗口不要关闭

现在生产者、消费者均已创建完成。

⑤在生产者命令行窗口中任意输入内容,回车  在消费命令行窗口中即可看到相应的内容。

至此,已完成kafka在windows下的安装和基本的使用。
————————————————
版权声明:本文为CSDN博主「花伦同学ko」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_33446857/article/details/81982455