Apache Kafka 在 Windows 系统上设置与运行教程

Apache Kafka 在 Windows 系统上设置与运行教程

手把手教你在 Windows 系统安装运行 Apache Zookeeper 和 Apache Kafka 服务。

介绍

这篇文章讲解在 Windows 如何配置启动 Apache Kafka 服务。同时,文章还讲解如何设置 Java 和 Apache Zookeeper 运行环境。

Apache Kafka 是一款速度快、可扩展的消息队列,能有效应对高负载市场场景下的读写任务,如 IO 相关操作。你可以从 http://kafka.apache.org/ (译注:中文网获取更多有关 Kafka 的信息。Apache Kafka 需要运行在 Zookeeper 实例上,一款分布式应用协调服务。你可以从 https://zookeeper.apache.org/ 获取有关 Zookeeper 信息。

可以从下面这个视屏教程中获取如何在 Windows 系统上设置 Kafka 相关帮助。

油管视频教程

下载相关组件

译注:由于是在 Windows 系统安装 Kafka,所以我们下载时请下载二进制文件(Binary downloads)而不要下载源文件(Source download)。

本教程假定我们将 Zookeeper 和 Kafka 解压到 c:\drive 目录,不过你可以将它们解压到任何路径都行。

这里我们需要使用的是完整的 zookeeper 项目而不是作为包启动的 Kafka 因为这里我们使用的是单个节点的 Zookeeper 实例。如果你希望以 zookeeper 包启动方式来运行 kafka 可以到 \kafka\bin\windows 目录下查找相关命令行工具。

安装

A. 设置 JDK

  1. 启动 JRE 安装程序,并选中「Change destination folder」 复选框,然后点击安装。
  1. 将安装目录修改为任何不包含空格的文件夹内。比如 C:\Java\jre1.8.0_xx\。(默认安装目录为 C:\Program Files\Java\jre1.8.0_xx)然后点击下一步。
  2. 现在从 控制面板 > 系统 > 高级系统设置 > 环境变量 打开环境变量设置对话框。
  3. 点击用户变量节点的 新建 按钮创建 java 环境变量名为 JAVA_HOME 变量值为你的 JRE 目录。类似于
  1. 点击 确定 按钮。
  2. 在「系统变量」节点搜索「Path」变量点击 编辑 按钮打开编辑对话框。
  3. 编辑「Path」变量值并在末尾追加录入「;%JAVA_HOME%\bin」,如下
  1. 打开命令行工具「cmd」并输入 java -version 确认 Java 是否安装成功,你可以看到刚刚安装的 Java 版本信息。

如果你的命令结果如上图所示,可以继续下一步。否则需要确认你所安装的 JRE 版本是否适用于你现在的操作系统架构(x86,x64),或者确认系统环境变量是否设置正确。

B. 安装 Zookeeper

  1. 进入到 Zookeeper 的 config 目录。我的在 C:\zookeeper-3.4.7\conf
  2. 将文件 zoo_sample.cfg 重命名为 zoo.cfg
  3. 使用文本编辑器如 notepad 打开 zoo.cfg 文件,个人喜好使用 notepad++ 文本编辑器。
  4. 查找并编辑 dataDir=/tmp/zookeeper 配置选项为 c:\zookeeper-3.4.7\data
  5. 和 Java 一样将 Zookeeper 目录添加到系统环境变量中。 a. 添加系统环境变量 ZOOKEEPER_HOME = C:\zookeeper-3.4.7 b. 编辑「Path」系统环境变量追加 ;%ZOOKEEPER_HOME%\bin
  6. 你可以在 zoo.cfg 配置文件中修改 Zookeeper 端口号(默认端口号为 2181)
  7. 开启一个新的「cmd」命令行窗口并输入 zkserver 命令
  8. 你可以看到如下图说是的详细提示信息

祝贺你,你的 Zookeeper 在端口 2181 成功启动并运行!

C. 设置 Kafka

  1. 进入 Kafka 的 config 目录。我的是 C:\kafka_2.11-0.9.0.0\config
  2. 编辑 server.properties 配置文件
  3. 查找到 log.dirs=/tmp/kafka-logs 配置节点编辑为 log.dir= C:\kafka_2.11-0.9.0.0\kafka-logs
  4. 如果你的 Zookeeper 实例运行在其它服务器或集群中你可以编辑 zookeeper.connect:2181 配置到对应的 IP 和端口。对于这个实例我们使用的是同一台机器所以无需修改。并且在这个配置文件中还设置了 Kafka 端口和 broker.id 信息。保持原有配置就行了。
  5. Kafka 服务默认在 9092 端口运行,并且默认连接到 2181 端口的 Zookeeper 实例。如果你希望以

D. 运行 Kafka 服务器

重点: 在启动 Kafka 服务器之前请确认已成功启动并运行 Zookeeper 实例。

  1. 进入到 Kafka 安装目录 C:\kafka_2.11-0.9.0.0\
  2. 打开一个新的命令行窗口
  3. 输入 .\bin\windows\kafka-server-start.bat .\config\server.properties 并回车
.\bin\windows\kafka-server-start.bat .\config\server.properties
  1. 如果一切顺利,你的命令行提示信息会如下图所示:
  1. 现在你的 Kafka 服务器已经成功启动并运行,你可以开始创建 topics 来存储信息。你还可以使用 Java、Scala 或直接使用命令行工具来生成或消费数据。

E. 创建 topics

  1. 现在让我们来创建名为「test」的 topic 它的复制因子(译注:replication factor:log 冗余的份数,这里的数字不能大于 broker 的数量),因为我们仅有一台 Kafka 服务器。如果你有超过一台 Kafkak 服务器集群在运行,你可以增加响应的复制因子设置来提升数据的可用性来实现一个容错系统。
  2. 开启一个新的命令行窗口并进入到 C:\kafka_2.11-0.9.0.0\bin\windows 目录
  3. 输入如下命令并回车:
kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

F. 创建 Test 服务器的生成这和消费者

  1. 开启一个新的命令行窗口并进入到 C:\kafka_2.11-0.9.0.0\bin\windows 目录
  2. 输入下面的命令启动一个生产者服务:
kafka-console-producer.bat --broker-list localhost:9092 --topic test
  1. 再开启一个新的命令行窗口并进入到 C:\kafka_2.11-0.9.0.0\bin\windows 目录
  2. 输入如下命令启动一个消费者服务:
kafka-console-consumer.bat --zookeeper localhost:2181 --topic test
  1. 现在你有两个如下命令行窗口:
  1. 在生产者命令行窗口中输入数据并回车,然后你便可以在消费者窗口看到响应的消息。
  1. 如果你可以实现 push 数据,便可以在消费者服务这边查看消息,你完成了 Kafka 服务器的设置启动。

其它有用的命令行工具

  1. 查看 topics:kafka-topics.bat --list --zookeeper localhost:2181
  2. 查看 topic 描述信息: Topic: kafka-topics.bat --describe --zookeeper localhost:2181 --topic [Topic Name]
  3. 从头开始读取信息:kafka-console-consumer.bat --zookeeper localhost:2181 --topic [Topic Name] --from-beginning
  4. 删除 topic:kafka-run-class.bat kafka.admin.TopicCommand --delete --topic [topic_to_delete] --zookeeper localhost:2181

原文

Setting Up and Running Apache Kafka on Windows OS

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏IT笔记

SVN钩子的一些简单说明

最近由于在看、SvnServer同步生产环境代码相关,特意了解了一下SVN的钩子。 1、SVN的hooks start-commit 提交前触发事务 pre-c...

3476
来自专栏魏艾斯博客www.vpsss.net

WordPress 手动升级更新方法

3234
来自专栏破晓之歌

前端页面可视化开发-livestyle,livereload,browser-sync

本质是监控文件修改,实时刷新浏览器,需要安装livereload插件和node.js插件,全局刷新

1202
来自专栏腾讯云安全的专栏

Tomcat安全配置小技巧

1762
来自专栏容器云生态

Ansible基本配置以及使用示例

##Ansible基本使用以及模块详解 准备条件:注意:前提是ansible已经正常安装,并且可以使用 1.在ansible主机上创建ssh公私钥对 ansib...

2359
来自专栏技术博文

php缓存技术

1、全页面静态化缓存 也就是将页面全部生成html静态页面,用户访问时直接访问的静态页面,而不会去走php服务器解析的流程。此种方式,在CMS系 统中比较常见,...

1.3K6
来自专栏LIN_ZONE

Git 简单入门(二)

在发布版本的时候,可以在版本库中打一个标签,这样就唯一确定了打标签时刻的版本。在需要的时候可取某个标签的版本。标签相当于是版本库的一个快照,可以自定义标签名字,...

621
来自专栏Java帮帮-微信公众号-技术文章全总结

03.Linux系统启动过程

03.Linux系统启动过程 Linux 系统启动过程 linux启动时我们会看到许多启动信息。 Linux系统的启动过程并不是大家想象中的那么复杂,其过程可以...

3754
来自专栏jiajia_deng

正确处理安装程序提示 “这个程序可能安装不正确” 问题

1202
来自专栏李智的专栏

Windows下git安装使用教程

git status 此命令可以让我们时刻掌握仓库当前的状态,上面的命令告诉我们,readme.txt被修改过了,但还没有准备提交的修改。

1251

扫码关注云+社区

领取腾讯云代金券