kafka下载并安装

一、准备工作

  操作系统环境:Windows10

  JDK:1.8

  zookeeper:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.9-bin.tar.gz

  kafka:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.6.1/kafka_2.12-2.6.1.tgz

 

二、介绍

  1、Kafka是什么?

    Apache Kafka® 是 一个分布式流处理平台

 

  2、流处理平台的三种特性

    (1)、可以让你发布和订阅流式的记录。这一方面与消息队列或者企业消息系统类似。

  (2)、可以存储流式 的记录,并且有较好的容错性。

   (3)、可以在流式记录产生时就进行处理。

 

  3、Kafka的两大应用场景

   (1)、构造实时流数据管道,它可以在系统或应用之间可靠的获取数据。(相当于MQ)

  (2)、构建实时流式应用程序,对这些流数据进行转换或者影响。(就是流处理,通过Kafka stream topic和topic之间内部进行变化)

 

  4、Kafka相关概念

  • Kafka作为一个集群,运行在一台或者多台服务器上.
  • Kafka 通过 topic 对存储的流数据进行分类。
  • 每条记录中包含一个key,一个value和一个timestamp(时间戳)。

 

  5、Kafka有四个核心的API:

  • The Producer API 允许一个应用程序发布一串流式的数据到一个或者多个Kafka topic。
  • The Consumer API 允许一个应用程序订阅一个或多个 topic ,并且对发布给他们的流式数据进行处理。
  • The Streams API 允许一个应用程序作为一个流处理器,消费一个或者多个topic产生的输入流,然后生产一个输出流到一个或多个topic中去,在输入输出流中进行有效的转换。
  • The Connector API 允许构建并运行可重用的生产者或者消费者,将Kafka topics连接到已存在的应用程序或者数据系统。比如,连接到一个关系型数据库,捕捉表(table)的所有变更内容。

 

三、zookeeper

  1、安装注意,Java1.8下zookeeper的版本问题。 

 

  2、解压后包含的目录大致如下:

  

   bin:zookeeper相关可执行文件,conf:zookeeper相关配置文件,docs:zookeeper相关文档,lib:运行zookeeper需要的jar包,license.txt:许可证,notice.txt:相关注意声明,readme.md:工具的相关工说明,README_packaging.txt:包装的相关说明。

 

   3、zookeeper的相关配置运行

  (1)、在zookeeper的安装目录下找到conf文件夹,将zoo_sample.cfg复制一份更改为zoo.cfg。打开zoo.cfg文件,将dataDir=/tmp/zookeeper修改为Windows上的相关存放路径,其它选项视情况修改。

  (2)、然后在bin文件夹下找到zkServer.cmd文件双击运行,正常情况下cmd控制台会打印一长串的东西,这里就不放图了。然后可以使用如下命令测试zookeeper是否启动成功:

telnet localhost 2181 # 2181为默认端口

  (3)、如果运行zkServer.cmd时,窗口一闪而过的话。可打开该文件,并在文件最后加入【pause】就可查看错误信息,然后根据错误信息排查。

 

四、Kafka

  1、在Kafka的安装目录下找到config文件夹找到server.properties文件,打开并将其中的log.dirs=/tmp/kafka-logs修改为Windows上的相关存放路径。将同目录下的zookeeper.properties文件中的dataDir=/tmp/zookeeper修改和上面zookeeper的配置文件相同的路径即可。

  2、打开cmd程序,并切换 到Kafka的安装路径,输入如下参数:

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

  (1)、等控制台输出一大段后,出现如下所示,则表明Kafka的服务启动成功:

 (2)、如果出现如下错误,则可能是因为你的环境变量中存在了空格。

 

 

 解决方法:在Kafka安装目录下找到bin\windows\kafka-run-class.bat,打开该文件,进行如下修改:

IF not defined CLASSPATH (
  set CLASSPATH="%~1"
) ELSE (
  set CLASSPATH=%CLASSPATH%;"%~1"
)

修改为:

IF not defined CLASSPATH (
  set CLASSPATH="%~1"
) ELSE (
  set CLASSPATH="%CLASSPATH%";"%~1"
)

注意:Kafka有关的路径等尽量都不要包含空格。

 

 五、使用示例

  1、zookeeper和Kafka的cmd窗口都不要关闭,打开一个新的cmd窗口,并切换到Kafka的安装目录下。进行如下操作:

 (1)、创建topic

.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
Created topic test.

 

 (2)、查看topic列表

.\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181

 

 (3)、生产者,生产消息并发送到服务器,选择存储消息的topic。

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

 

 (4)、消费者,消费消息,选择要消费的topic。打开新的cmd窗口操作。

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning

 

六、结束总结

  1、相关工具的下载采用了清华大学镜像站点进行下载,apache镜像站点传送:点击传送

  2、Kafka中文文档:点击传送

  3、 apache-zookeeper-[version].tar.gz和apache-zookeeper-[version]-bin.tar.gz的区别:前者包含全部的源文件可以通过运行:mvn clean install进行构建,后者包含运行zookeeper所需的所有jar文件和完整的文档(在docs文件夹中)。

  4、友链:telnet介绍

  5、注意:Windows中配置文件中的路径分割符应该使用"/"。

  6、推荐Linux下使用Kafka,Linux下的安装使用的此处不做说明。推荐JDK1.8及以上使用Kafka。

  7、可能遇到的问题:另一个程序正在使用此文件,进程无法访问

posted @ 2021-03-30 20:34  lightbc  阅读(3857)  评论(0编辑  收藏  举报