下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka。html
本文讲述了如何在Windows OS上配置并启动Apache Kafka,这篇指南将会指导你安装Java和Apache Zookeeper。
Apache Kafka是一个快速可扩展的消息队列,可以应对繁重的读写负载,即IO相关工做。更多信息请参见http://kafka.apache.org。因为Zookeeper能提供可靠的分布式协调服务,Apache Kafka须要运行一个Zookeeper实例。更多Zookeeper的相关信息请查看https://zookeeper.apache.org/。java
关于在Windows安装Kafka的具体步骤,能够查看这个视频:https://youtu.be/OJKesEpO6okapache
针对此教程,咱们将Zookeeper与Kafka解压到C盘,不过也能够选择其余位置。这里咱们要使用彻底的zookeeper,而不是用Kafka打包的那个,由于这是一个单节点的Zookeeper实例。也能够运行打包了zookeeper的Kafka,位置在\kafka\bin\windows库中。windows
A. JDK安装bash
1.启动JRE安装,选中复选框“修改目标路径”,而后点击安装。服务器
2.修改安装目录,文件夹名称中不能有空格,例如:C:\Java\jre1.8.0_xx\(默认状况下是C:\Program Files\Java\jre1.8.0_xx),而后点击下一步。
3.如今点击控制面板->系统->高级系统设置->环境变量,打开系统环境变量对话框。
4.点击用户变量中的新用户变量按钮,而后在变量名称那里输入JAVA_HOME,并将自定义的jre路径填入变量值。以下图所示:架构
Java路径与版本可能会根据所使用Kafka的版本而有所改变oracle
5.如今点击ok。
6.刚才打开的“环境变量“对话框中有“系统变量”一栏,在其中寻找路径变量。
7.编辑路径与类型“;%JAVA_HOME%\bin”,以下图:编辑器
8.确认Java安装打开cmd,输入类型“java –version”,应该可以看到刚刚安装的java版本。分布式
若是命令行提示与上图相似,请继续。不然,须要从新检查安装版本是否与OS架构匹配(x86, x64),以及环境变量路径是否正确。
B. Zookeeper安装
1.进入Zookeeper设置目录,好比C:\zookeeper-3.4.7\conf
2. 将“zoo_sample.cfg”重命名为“zoo.cfg”。
3. 在任意文本编辑器(如notepad)中打开zoo.cfg,我我的更喜欢notepad++。
4. 找到并编辑dataDir=/tmp/zookeeper to :\zookeeper-3.4.7\data
5. 与Java中的作法相似,咱们在系统环境变量中添加:
a. 在系统变量中添加ZOOKEEPER_HOME = C:\zookeeper-3.4.7
b. 编辑系统变量,命名为路径 System Variable%ZOOKEEPER_HOME%\bin;
6. 在zoo.cfg文件中修改默认的Zookeeper端口(默认端口2181)。
7. 打开新的cmd,输入zkserver,运行Zookeeper。
8. 命令行提示以下:
恭喜,Zookeeper已经完成并在端口2181运行。
C. 安装Kafka
1. 进入Kafka配置目录,例如C:\kafka_2.11-0.9.0.0\config
2. 编辑文件“server.properties”
3. 找到并编辑“log.dirs=/tmp/kafka-logs” to “log.dir= C:\kafka_2.11-0.9.0.0\kafka-logs”
4. 若是Zookeeper在某些其余的机器或集群上运行,能够将“zookeeper.connect:2181”修改成自定义IP与端口。在这个演示中咱们使用了同一个机器,所以不必作修改。文件中的Kafka端口和broker.id也是能够配置的。其余设置不变。
5. Kafka会按照默认,在9092端口上运行,并链接zookeeper的默认端口:2181。
D. 运行Kafka服务器
重要:请确保在启动Kafka服务器前,Zookeeper实例已经准备好并开始运行。
1.进入Kafka安装目录C:\kafka_2.11-0.9.0.0\
2.按下Shift+右键,选择“打开命令窗口”选项,打开命令行。
3.如今输入.\bin\windows\kafka-server-start.bat .\config\server.properties 并回车。
.\bin\windows\kafka-server-start.bat .\config\server.properties
4.若是一切正常,命令行应当是这样:
5.如今Kafka已经准备好并开始运行,能够建立主题来存储消息了。咱们也能从Java/Scala代码中,或直接从命令行中生成或使用数据。
E. 建立主题
1. 如今建立主题,命名为“test”,replication factor=1(由于只有1个Kafka服务器在运行)。若是集群中所运行的Kafka服务器不止1个,能够相应增长replication-factor,从而提升数据可用性和系统容错性。
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. 建立Producer及Consumer来测试服务器。
1.在C:\kafka_2.11-0.9.0.0\bin\windows打开新的命令行。
2.输入如下命令,启动producer:
kafka-console-producer.bat --broker-list localhost:9092 --topic test
3.在一样的位置C:\kafka_2.11-0.9.0.0\bin\windows再次打开新的命令行。
4.如今输入下列命令启动consumer:
kafka-console-consumer.bat --zookeeper localhost:2181 --topic test
5.如今有两个命令行窗口,以下图:
6.在producer命令行中任意输入内容,回车;在其余consumer命令行中能看到相应消息。
7.若是可以将消息推送到consumer端并显示出来的话,Kafka安装就完成了。
cd /home/work/soft/kafka_2.8.0-0.8.1.1/bin ./kafka-topics.sh --create --zookeeper 10.48.170.26:2181 --replication-factor 1 --partitions 3 --topic test ./kafka-console-producer.sh --broker-list 10.48.170.26:9092 --topic test ./kafka-console-consumer.sh --zookeeper 10.48.170.26:2181 --topic test 1.列出主题:./kafka-topics.sh --list --zookeeper 10.48.170.26:2181 2.描述主题:./kafka-topics.sh --describe --zookeeper 10.48.170.26:2181 --topic [Topic Name] 3.从头读取消息:./kafka-console-consumer.sh --zookeeper 10.48.170.26:2181 --topic [Topic Name] --from-beginning 4.删除主题:./kafka-run-class.sh kafka.admin.TopicCommand --delete --topic [topic_to_delete] --zookeeper 10.48.170.26:2181
Refer:
[1] Setting Up and Running Apache Kafka on Windows OS
https://dzone.com/articles/running-apache-kafka-on-windows-os
[2] Windows OS上安装运行Apache Kafka教程