zoukankan      html  css  js  c++  java
  • Windows环境安装kafka(一)

    前言

    注意事项:

    需要有jdk,jdk8以上。配置好环境变量。

    参看链接:https://blog.csdn.net/weixin_38004638/article/details/91893910

    一、安装zookeeper

    1、下载zookeeper

    官网:https://zookeeper.apache.org/

    https://zookeeper.apache.org/releases.html

    http://www.apache.org/dyn/closer.cgi/

    https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/ 

    • 注意:下载的文件解压不了,换一个,说明下载的不是安装包。

    2、 解压并进入ZooKeeper目录,如:F:zookeeper-3.4.5conf

    • 注意:ZooKeeper的版本不要太高,可能jdk8不太支持,反正我本地刚开始用的zookeeper-3.4.10.tar.gz,启动失败。

    3、 将“zoo_sample.cfg”重命名为“zoo.cfg”

    4、 打开“zoo.cfg”找到并编辑dataDir=F:\zookeeper-3.4.5\tmp(必须以\分割)

    5、 添加系统变量:ZOOKEEPER_HOME=F:zookeeper-3.4.5

    6、 编辑path系统变量,添加路径:%ZOOKEEPER_HOME%in

    7、 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)

    8、 打开新的cmd,输入“zkServer“,运行Zookeeper

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

    • 注意:不要关了这个窗口

    二、本地安装kafka

    1、 下载安装包

    http://kafka.apache.org/downloads

    • 注意1:要下载二进制版本
    • 注意2:版本不要太高,原来用的最新版本,启动失败。后来改用了kafka_2.12-0.11.0.0.tgz才启动成功。

    2、 解压并进入Kafka目录,笔者:D:Kafkakafka_2.12-0.11.0.0

    3、 进入config目录找到文件server.properties并打开

    4、 找到并编辑log.dirs=D:Kafkakafka_2.12-0.11.0.0kafka-logs

    5、 找到并编辑zookeeper.connect=localhost:2181

    6、 Kafka会按照默认,在9092端口上运行,并连接zookeeper的默认端口:2181

    7、 进入Kafka安装目录F:kafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,(win10在文件路径输入cmd,按回车)输入:

    .inwindowskafka-server-start.bat .configserver.properties
    或
    binkafka
    -server-start.sh configserver.properties
    • 注意1:我们用第一行。

    出现如下信息,表示启动成功。

    •  注意1:在执行命令时,出现如下报错,
    命令语法不正确。
    Exception in thread "main" java.lang.UnsupportedClassVersionError: kafka/Kafka : Unsupported major.minor version 52.0
            at java.lang.ClassLoader.defineClass1(Native Method)
            at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
            at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
            at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
            at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
            at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
            at java.security.AccessController.doPrivileged(Native Method)
            at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
            at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
            at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

    因为本地配置的java环境变量为JDK7。修改成jdk8后,问题解决。

    • 注意2:在第一次启动成功后,安装路径下会出现如下文件:

     当关掉kafka再次启动时,会提示该文件被占用,导致启动失败,解决方案:直接删掉该文件,重新启动。

    • 注意3:不要关了这个窗口,启用Kafka前请确保ZooKeeper实例已经准备好并开始运行

    三、测试

    注意:(linux直接在bin目录下.sh,windows需要进入binwinndows下的.bat操作kafka。)

    1、 创建主题

    进入Kafka安装目录D:Kafkakafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,(win10在文件路径输入cmd,按回车)输入:

    .inwindowskafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

    出现如下信息,标识创建成功:

     2、查看主题输入

    .inwindowskafka-topics.bat --list --zookeeper localhost:2181

    3、 创建生产者

    进入Kafka安装目录D:Kafkakafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:

    .inwindowskafka-console-producer.bat --broker-list localhost:9092 --topic test
    • 注意:不要关了这个窗口

    4、 创建消费者

    进入Kafka安装目录D:Kafkakafka_2.12-0.11.0.0,按下Shift+右键,选择“打开命令窗口”选项,打开命令行,输入:

    .inwindowskafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

    •  注意:暂时不知道为啥汉语的报错啦。

    四、安装中遇到的问题

    1、jdk版本太低;

    2、下载不了zookeeper安装包;

    3、zookeeper启动失败;

    4、kafka启动失败;

    5、java程序向本地kafka的主题推送数据失败;

    6、操作日志的处理:

    kafka启动后,如果你去查看kafka所在的根目录,或者是kafka本身的目录,会发现已经默认生成一堆操作日志(这样看起来真心很乱):

     而且会不断生成不同时间戳的操作日志。刚开始不知所措,一番研究后,看了启动的脚本内容,发现启动的时候是会默认使用到这个log4j.properties文件中的配置,而在zoo.cfg是不会看到本身的启动会调用到这个,还以为只有那一个日志路径:

     在这里配置一下就可以了,找到config下的log4j.properties:

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

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

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

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

    后语

    以上就是在windows环境下安装kafka并进行简单测试的步骤。

    下面研究下:

    window安装kafka客户端;

    在java程序中创建生产者与消费者,向kafka推送并消费数据。

    如果错过太阳时你流了泪,那你也要错过群星了。
    在所有的矛盾中,要优先解决主要矛盾,其他矛盾也就迎刃而解。
    不要做个笨蛋,为失去的郁郁寡欢,聪明的人,已经找到了解决问题的办法,或正在寻找。
  • 相关阅读:
    2277 爱吃皮蛋的小明
    zoj2314 经典 无源汇有上下界最大流 并输出可行流
    [置顶] css3 befor after 简单使用 制作时尚焦点图相框
    [置顶] 程序员的奋斗史(二十八)——寒门再难出贵子?
    TaintDroid:智能手机监控实时隐私信息流跟踪系统(四)
    Activity切换效果(overridePendingTransition)
    Activity生命周期,状态保存恢复(经典)
    大二实习使用的技术汇总(上)
    Struts2配置RESULT中TYPE的参数说明
    关于程序动态库链接和运行时搜索路径设置的个人理解
  • 原文地址:https://www.cnblogs.com/szrs/p/14270385.html
Copyright © 2011-2022 走看看