Just Do IT !

Windows10安装运行Kafka2.1.0与Zookeeper3.4.14

字数统计: 892阅读时长: 3 min
2020/03/17 Share

近日在做一个Golang的日志收集系统需要用到Kafka, 因苦于笔记本电脑虚拟机出了点问题, 所以在本文记录Windows10安装Kafka的过程

搭建过程

1.1 安装JDK

此处不多介绍
在这里插入图片描述

1.2 安装Zookeeper

下载地址:http://zookeeper.apache.org/releases.html#download
下载后解压到一个目录:

1.进入Zookeeper设置目录,我这里 E:\Study\zookeeper-3.4.14\conf
2. 将“zoo_sample.cfg”重命名为“zoo.cfg”
3. 在任意文本编辑器中打开zoo.cfg
4. 找到并编辑dataDir=dataDir=E:\\Study\\zookeeper-3.4.14\\tmp
5. 与Java中的做法类似,我们在系统环境变量中添加:
  a. 在系统变量中添加ZOOKEEPER_HOME = E:\Study\zookeeper-3.4.14
  b. 编辑path系统变量,添加为路径E:\Study\zookeeper-3.4.14\bin;
6. 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)

在这里插入图片描述

1.3 安装Kafka

下载地址:https://kafka.apache.org/downloads

注意:不要下载kafka-2.1.0-src类似的src源码包,不然运行时报错:

命令语法不正确。
错误: 找不到或无法加载主类 kafka.Kafka

下载后解压到任意一个目录,我是log.dirs=E:\Study\kafka_2.11-2.1.0

1. 进入Kafka配置目录,log.dirs=E:\Study\kafka_2.11-2.1.0\config
2. 编辑文件“server.properties”
3. 找到并编辑log.dirs=E:\\Study\\kafka_2.11-2.1.0\\kafka-log,这里的目录自己修改成自己喜欢的
4. 找到并编辑zookeeper.connect=localhost:2181。表示本地运行
5. Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181

报错:

命令语法不正确。
错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_112\lib\dt.jar;C:\Program

解决方式如下:

在kafka安装目录中找到bin\windows目录中的kafka-run-class.bat找到为%CLASSPATH%加上双引号
修改前: 
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% %*

确保在启动Kafka服务器前,Zookeeper实例已经准备好并开始运行。
在这里插入图片描述

1.4 创建生产者消费者实例

打开上面的Zookeeper和Kafka,不要关!

1
2
3
4
在Zookeeper目录
./zkServer.cmd
在kafka安装目录
.\bin\windows\kafka-server-start.bat .\config\server.properties

  1. 创建topic
    .\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic haohan
    创建一个名为haohan的topic
    在这里插入图片描述
    不需要关闭此窗口
  2. 创建生产者
    .\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic haohan
    在这里插入图片描述
    不要关闭窗口, 稍后会用到
  3. 创建消费者
    .\bin\windows\kafka-console-consumer.bat --topic haohan --bootstrap-server localhost:9092

  4. 发送消息

在刚才的生产者窗口发送消息, 在消费者窗口打开查看
在这里插入图片描述
在这里插入图片描述

1.5 删除topic

方法一(配置delete.topic.enable=true)

  修改kafaka配置文件server.properties, 添加delete.topic.enable=true,重启kafka,之后通过kafka命令行就可以直接删除topic
  通过命令行删除topic:
    .\bin\windows\kafka-topics.bat --delete --zookeeper {zookeeper server} --topic {topic name}

方法二(没有配置delete.topic.enable=true)

1、通过命令行删除topic:
.\bin\windows\kafka-topics.bat --delete --zookeeper {zookeeper server} --topic {topic name}
因为kafaka配置文件中server.properties没有配置delete.topic.enable=true,此时的删除并不是真正的删除,只是把topic标记为:marked for deletion
你可以通过命令:.\bin\windows\kafka-topics.bat --zookeeper {zookeeper server} --list 来查看所有topic

2、删除kafka存储目录(server.properties文件log.dirs配置)相关topic目录

3, 若想真正删除它,需要登录zookeeper客户端:
  命令:./bin/zkCli.cmd
  找到topic所在的目录:ls /brokers/topics
   执行命令:rmr /brokers/topics/{topic name}即可,此时topic被彻底删除。

在这里插入图片描述

CATALOG
  1. 1. 搭建过程
    1. 1.1. 1.1 安装JDK
    2. 1.2. 1.2 安装Zookeeper
    3. 1.3. 1.3 安装Kafka
    4. 1.4. 1.4 创建生产者消费者实例
    5. 1.5. 1.5 删除topic