开源中国

我们不支持 IE 10 及以下版本浏览器

It appears you’re using an unsupported browser

为了获得更好的浏览体验,我们强烈建议您使用较新版本的 Chrome、 Firefox、 Safari 等,或者升级到最新版本的IE浏览器。 如果您使用的是 IE 11 或以上版本,请关闭“兼容性视图”。
不使用 Cygwin 的情况下在Windows 运行 Apache Kafka - 技术翻译 - 开源中国社区

不使用 Cygwin 的情况下在Windows 运行 Apache Kafka 【已翻译100%】

oschina 推荐于 2年前 (共 5 段, 翻译完成于 01-11) 评论 9
收藏  
58
推荐标签: Kafka 待读

引言

本教程的目的是提供在 Windows 操作系统上运行 Apache Kafka 的一个手把手的指南。本指南也将提供设置 Java 与 ZooKeeper 的指导。Apache kafka 是一个快速且可伸缩的消息队列系统,具有在读写环境中处理真正重载荷的能力。你可以在 http://kafka.apache.org/ 这个网站上找到更多关于 kafka 的东西。Apache kafka 需要一个正在运行的 ZooKeeper 实例,用于提供可靠的分布式调度。请在 https://zookeeper.apache.org/ 这个网站上寻找更多关于 ZooKeeper 的东西。

请查看这个视频来将 Kafka 安装到 Windows 上。(然而并没有视频,你懂的)

下载必要文件

  1. 根据你的操作系统和 CPU 架构下载服务器 JRE,地址为 http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

  2. 下载并安装 7-zip,地址为 http://www.7-zip.org/download.html

  3. 下载并使用 7-zip 解压 Zookeeper,地址为 http://zookeeper.apache.org/releases.html

  4. 下载并使用 7-zip 解压 Kafka,地址为 http://kafka.apache.org/downloads.html

安装

a. 安装及配置 Java 运行时环境(JRE)

  1. 开始 JRE 的安装并选中“Change destination folder”复选框,然后点击 install。

  1. 修改安装路径为任何名字中不带空格的文件夹。比如 C:\Java\jre1.8.0_xx\ 。(默认情况下它将会是 C:\Program Files\Java\jre1.8.0_xx)然后点击 Next。

  2. 现在通过 控制面板 -> 系统 -> 高级系统设计 -> 环境变量 来打开系统环境变量对话框。

  3. 点击用户变量中的新建按钮,然后在变量名中输入 JAVA_HOME,并在变量值种设置你的 jre 路径。它看起来应该如下图:

ostatsu
 翻译得不错哦!

(Java 的路径和版本可以随你使用的 Kafka 版本而改变)

  1. 点击确定按钮

  2. 在你刚刚打开的“环境变量”对话框中的“系统变量”部分,找到 Path 变量。

  3. 修改路径,在类似下图中的已经写有文字的文本框末尾输入“;%JAVA_HOME%\bin”。

  1. 要确认 Java 的安装情况,只需要打开 cmd 并输入“java -version”,你就可以看到你刚刚安装的 java 版本了。

如果你的命令提示符下出现类似上图的内容,你就可以放心的继续做后面的步骤了。否则,你需要检查你的安装版本是否与操作系统架构(x86,x64)相匹配,或 Path 环境变量是否正确。

b. 安装及运行 Zookeeper

  1. 打开你的 zookeeper 配置目录。我的目录是 C:\zookeeper-3.4.7\conf

  2. 重命名 “zoo_sample.cfg” 为 “zoo.cfg”

  3. 在任何文本编辑器中打开 zoo.cfg,比如使用记事本,不过我比较喜欢 notepad++

  4. 找到并修改 dataDir=/tmp/zookeeper 这段话为 dataDir=C:\zookeeper-3.4.7\data

  5. 就像我们在安装 Java 时那样,在系统环境变量中添加条目

    1. 在系统变量中添加 ZOOKEEPER_HOME = C:\zookeeper-3.4.7

    2. 修改 Path 系统变量,添加 ;%ZOOKEEPER_HOME%\bin;

  6. 你可以在 zoo.cfg 文件种修改默认 zookeeper 端口(默认端口为 2181)。

  7. 在一个新的 cmd 中输入 zkserver 来运行 zookeeper。

  8. 你将看到命令提示符出现类似下图种的一些细节。

恭喜,你的 zookeeper 为已经启动并运行在 2181 端口上了。

ostatsu
 翻译得不错哦!

c. 配置 Kafka

  1. 打开你的 Kafka 配置目录。我的目录是 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=localhost:2181”为你自定义的 IP 和端口。在这次演示中,我们使用的是同一台机器,所以不需要修改。另外 Kafka 的端口和 broker.id 也可以在这个文件中进行配置。其他设置不变。

  5. 你的 Kafka 将会在默认的 9092 端口上运行并连接到默认端口为 2181 的 zookeeper 上。

d. 运行 Kafka 服务器

注意:

请确保你的 zookeeper 已经启动并在启动 Kafka 服务器之前运行。

  1. 打开 kafka 安装目录 C:\kafka_2.11-0.9.0.0\

  2. 按 Shift + 右键并选择“在此处打开命令行窗口”选项来在此处打开一个命令提示符

  3. 现在输入 .\bin\windows\kafka-server-start.bat .\config\server.properties 并按回车键

              

  1. 如果一切正常的话,命令提示符的内容看起来应该如下图

  1. 现在你的 Kafka 已经启动并运行了,所以现在你可以使用 java 或 scala 代码或在命令提示符中创建 topic 和 produce 或 consume 了。

ostatsu
 翻译得不错哦!

e. 生成 Kafka 的 Topic

  1. 首先生成一个名为”test“的 Kafka 主题,并且设置复制因子参数为 1,因为我们只有一个 Kafka 服务器正在运行。如果你有一个包含多个 Kafka 服务的集群,你可以增大此参数,以此提高对数据可用性和系统容错性。

  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. 在测试服务器上生成一对生产者和消费者

  1. 打开一个新的命令行窗口,进入到目录 C:\kafka_2.11-0.9.0.0\bin\windows

  2. 输入如下命令,启动一个生产者。kafka-console-producer.bat --broker-list localhost:9092 --topic test”.

  3. 再打开一个新的命令行窗口,同样进入到目录C:\kafka_2.11-0.9.0.0\bin\windows

  4. 输入如下命令,启动一个消费者。“kafka-console-consumer.bat --zookeeper localhost:2181 --topic test”

  5. 现在你有两个命令行窗口,如下面两张图所示。


  1. 在生产者命令行窗口内随便输入一段字符,然后回车,你应该能看到同样的消息出现在消费者的命令行窗口内。


  1. 如果在消费者端能看到你推送的消息,那么你已经成功的安装了Kafka。

雪落无痕xdj
 翻译得不错哦!

一些有用的命令

  1. 列举 Topic: kafka-topics.bat --list --zookeeper localhost:2181

  2. 描述 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

参考链接

  1. http://kafka.apache.org/documentation.html

  2. https://zookeeper.apache.org/doc/trunk/zookeeperStarted.html

结论

我相信,这篇文章会对初/中级开发人员在 Windows 的服务器或者桌面系统上启动一个 kafka 服务器带来帮助。

你们的朋友

Gopal Tiwari                                              

License

这篇文章以及相关代码遵循 The Code Project Open License (CPOL) 协议

drkaka
 翻译得不错哦!
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们
评论(9)
Ctrl/CMD+Enter

看看windows的命令行多么先进,Cygwin真棒,相比之下Mac OSX的命令行简直就是一坨屎啊

引用来自“ios之王”的评论

看看windows的命令行多么先进,Cygwin真棒,相比之下Mac OSX的命令行简直就是一坨屎啊
终于看出你是高级黑了
windows可以跑kafka的啊
既然要玩,为何不linux,花时间去整win,感觉意义不大。不喜勿喷

引用来自“ios之王”的评论

看看windows的命令行多么先进,Cygwin真棒,相比之下Mac OSX的命令行简直就是一坨屎啊
别告诉我你不知道Redhat的Cygwin的Shell只不过是Linux Bash的移植就好了,还有OSX的Shell默认用的也是GNU Bash.

引用来自“ios之王”的评论

看看windows的命令行多么先进,Cygwin真棒,相比之下Mac OSX的命令行简直就是一坨屎啊

引用来自“eechen”的评论

别告诉我你不知道Redhat的Cygwin的Shell只不过是Linux Bash的移植就好了,还有OSX的Shell默认用的也是GNU Bash.
PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量. 在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!

引用来自“ios之王”的评论

看看windows的命令行多么先进,Cygwin真棒,相比之下Mac OSX的命令行简直就是一坨屎啊

引用来自“eechen”的评论

别告诉我你不知道Redhat的Cygwin的Shell只不过是Linux Bash的移植就好了,还有OSX的Shell默认用的也是GNU Bash.
PHP于1994年由Rasmus Lerdorf创建,刚刚开始是Rasmus Lerdorf为了要维护个人网页而制作的一个简单的用Perl语言编写的程序。这些工具程序用来显示 Rasmus Lerdorf 的个人履历,以及统计网页流量. 在1995年以Personal Home Page Tools (PHP Tools) 开始对外发表第一个版本,Lerdorf写了一些介绍此程序的文档。并且发布了PHP1.0!
一般windows只是做做试验而已
真是一個愛折騰的人
顶部