Windows下搭建KAFKA单机环境及常见问题

4 篇文章 0 订阅
2 篇文章 0 订阅

一:前置条件

安装好JDK,配置好JAVA_HOME一系列。在命令行输入java -version出现下面的截图即可:

注意:(1)默认安装的jdk在C:\Program Files\Java下的,因为有空格,会影响kafka的使用,要把它转移到一个无中文无空格的目录地址下;(2)现在新一点kafka版本都需要java 1.8的,这个要和kafka版本对应。

二:下载kafka

官网下载地址  

下载界面大致如上,每个版本有两种模式:Source download是下载源码的, Binary download是直接安装的。Scala的版本,没有特殊需求可以最新版本就好。点击就会进入下面的界面:

选择HTTP下面任意一个下载就好,下载完成后解压到指定目录下即可(最好没有中文和空格)。

我的目录是E:\demo\kafka_2.12-1.1.1

三:安装和配置

<1>安装配置Zookeeper

(1)使用kafka内带的zookeeper

  • 在解压的目录下新增data目录,进入E:\demo\kafka_2.12-1.1.1\config,打开zookeeper.properties,修改为下面并保存
dataDir=/kafka_2.12-1.1.1/data
  • 接下来命令行进入目录:E:\demo\kafka_2.12-1.1.1,执行下面的脚本来打开zookeeper:
.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
  • 成功会出现下面的界面,运行成功不要关闭命令行界面,后面会用到。

  • 用下面的命令来停止zookeeper服务:
.\bin\windows\zookeeper-server-stop.bat .\config\zookeeper.properties

(2)使用单独的zookeeper

官网下载地址

  • 选择地址下载后,解压,和kafka一样,解压目录不要有中文和空格。我的目录为:E:\demo\zookeeper-3.4.13
  • 进入目录E:\demo\zookeeper-3.4.13\conf,复制一份zoo_sample.cfg并重命名为zoo.cfg
  • 编辑dataDir=/zookeeper-3.4.13/data
  • 添加环境变量:

        ZOOKEEPER_HOME                 E:\demo\zookeeper-3.4.13

        PATH现有值后面添加                  ;%ZOOKEEPER_HOME%/bin;

  • 命令行E:\demo\zookeeper-3.4.13\bin,执行命令:zkServer

<2>配置kafka

(1) 启动kafka的通讯服务器broker

进入目录E:\demo\kafka_2.12-1.1.1\config,修改文件server.properties。木有目录新建目录

log.dirs=/kafka_2.12-1.1.1/logs

命令行进入目录E:\demo\kafka_2.12-1.1.1,执行下面的命令:

.\bin\windows\kafka-server-start.bat .\config\server.properties

最后出现下面的结果就是成功启动啦:(保持界面,不要关闭

(2) 创建一个主题topic

命令行进入目录:E:\demo\kafka_2.12-1.1.1\bin\windows,执行下面的命令:

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

出现下面的界面就是创建成功,其中testTopic就是我们创建的topic,后面会使用到。命令行就可以关闭了

(3) 创建一个生产者producer

命令行进入目录:E:\demo\kafka_2.12-1.1.1\bin\windows,执行下面的命令:localhost:9092是我们kafka服务broker的地址,testTopic就是我们上面创建的topic,这个命令就是用来在testTopic下生产一条消息。

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

回车后,会出现下面的输入框,这里是生产了一条消息“hello, kafka”,想要继续生产消息可以回车输入下一条就好。

(4) 创建一个消费者consumer

命令行进入目录:E:\demo\kafka_2.12-1.1.1\bin\windows,执行下面的命令。其中 localhost:2181是我们zookeeper的地址, testTopic是我们要消费的主体。生产者连接kafka服务broker, 消费者连接zookeeper服务

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

回车后,两边命令行没关闭的情况下,在生产者那新增的消息,消费者这边就会实时消费展示。这个时候我们打开状态的命令行窗口有四个(zookeeper 、broker 、producer 、consumer)

 

四:常见问题

1:启动zookeeper报错:����: �Ҳ������޷��������� Files\Java\jdk1.8.0_25\lib;C:\Programam

原因及解决方法:jdk目录有空格,把jdk重新拷贝到一个无空格和中文的目录下,重新配置JAVA_HOME的环境变量,保存后打开新的命令行再执行命令即可。

2:启动kafka服务报错:Exception in thread "main" java.lang.UnsupportedClassVersionError: kafka/Kafka :
 Unsupported major.minor version 52.0

原因及解决方法:是因为jdk版本不满足要求造成的,52要求jdk版本为1.8。各个jdk版本对应的数字如下:

JDK 9 = 53,      JDK 8 = 52,      JDK 7 = 51,      JDK 6.0 = 50,     JDK 5.0 = 49, 
JDK 1.4 = 48,   JDK 1.3 = 47,   JDK 1.2 = 46,   JDK 1.1 = 45

3:kafka-console-producer.bat生产的带中文的消息,消费者取到为乱码,界面大致为:

原因及解决办法:命令行的编码格式默认是GBK(936)。在命令行输入chcp可以查看命令行的编码格式:

可以用chcp  65001来将编码格式修改为UTF-8。修改为UTF-8来生产消息,不能输入中文,输入中文就会退出。所以具体的解决办法还没找到。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值