Windows OS上安装运行Apache Kafka教程

下面是分步指南,教你如何在Windows OS上安装运行Apache Zookeeper和Apache Kafka。

简介

本文讲述了如何在Windows OS上配置并启动Apache Kafka,这篇指南将会指导你安装Java和Apache Zookeeper。

Apache

Kafka是一个快速可扩展的消息队列,能够应对繁重的读写负载,即IO相关工作。更多信息请参见http://kafka.apache.org。由于
Zookeeper能提供可靠的分布式协调服务,Apache
Kafka需要运行一个Zookeeper实例。更多Zookeeper的相关信息请查看https://zookeeper.apache.org/。

关于在Windows安装Kafka的具体步骤,可以查看这个视频:https://youtu.be/OJKesEpO6ok

下载所需文件

  • 根据系统OS和CPU架构,在这里下载Server JRE http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

  • 在这里下载并安装7-zip http://www.7-zip.org/download.html

  • 在这里下载Zookeeper,并用7-zip解压 http://zookeeper.apache.org/releases.html

  • 在这里下载Kafka并用7-zip解压 http://kafka.apache.org/downloads.html


对此教程,我们将Zookeeper与Kafka解压到C盘,不过也可以选择其他位置。这里我们要使用完全的zookeeper,而不是用Kafka打包
的那个,因为这是一个单节点的Zookeeper实例。也可以运行打包了zookeeper的Kafka,位置在\kafka\bin\windows库
中。

安装

A. JDK安装

1.启动JRE安装,选中复选框“修改目标路径”,然后点击安装。

2.修改安装目录,文件夹名称中不能有空格,例如:C:\Java\jre1.8.0_xx\(默认情况下是C:\Program Files\Java\jre1.8.0_xx),然后点击下一步。

3.现在点击控制面板->系统->高级系统设置->环境变量,打开系统环境变量对话框。

4.点击用户变量中的新用户变量按钮,然后在变量名称那里输入JAVA_HOME,并将自定义的jre路径填入变量值。如下图所示:

Java路径与版本可能会根据所使用Kafka的版本而有所改变

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安装就完成了。

一些有用的命令

1. 列出主题:kafka-topics.bat –list –zookeeper localhost:2181

2. 描述主题:kafka-topics.bat –describe –zookeeper localhost:2181 –topic [Topic Name]

3. 从头读取消息:kafka-console-consumer.bat –zookeeper localhost:2181 –topic [Topic Name] –from-beginning

4. 删除主题:kafka-run-class.bat kafka.admin.TopicCommand –delete –topic [topic_to_delete] –zookeeper localhost:2181

Windows OS上安装运行Apache Kafka教程的更多相关文章

  1. 在Linux和Windows系统上安装Nginx服务器的教程

    在Linux和Windows系统上安装Nginx服务器的教程  1.在CentOS系统上安装Nginx 在 CentOS6 版本的 EPEL 源中,已经加入了 nginx 的 rpm 包,不过此 RP ...

  2. 在Windows Service上安装运行Redis

    CSDN下载RedisWatcher,运行InstallWatcher.msi,默认安装在C:\Program Files (x86)\RedisWatcher,修改watcher.conf # re ...

  3. DB 查询分析器 6.03 在Windows 8 上安装与运行演示

           DB 查询分析器 6.03 在Windows 8 上安装与运行演示 马根峰                ( 广东联合电子服务股份有限公司, 广州 510300) 摘要          ...

  4. Windows上安装运行Spark

    1.下载Scala: https://www.scala-lang.org/download/ ①注意:必须下载官方要求的JDK版本,并设置JAVA_HOME,否则后面将出现很多麻烦! ②Scala当 ...

  5. Kafka-Docker:使用Docker运行Apache Kafka的步骤

    1.目标 在这个Kafka教程中,我们将学习Kafka-Docker的概念.此外,我们将在Kafka中看到Docker的卸载过程.这包括使用Docker 运行Apache Kafka的所有步骤  .除 ...

  6. 在Centos 7上安装配置 Apche Kafka 分布式消息系统集群

    Apache Kafka是一种颇受欢迎的分布式消息代理系统,旨在有效地处理大量的实时数据.Kafka集群不仅具有高度可扩展性和容错性,而且与其他消息代理(如ActiveMQ和RabbitMQ)相比,还 ...

  7. windows10上安装mysql详细图文教程

    在windows10上安装mysql详细图文教程   这篇文章主要介绍了在windows10上安装mysql详细图文教程,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧 环境:windw ...

  8. Apache Kafka教程

    1.卡夫卡教程 今天,我们正在使用Apache Kafka Tutorial开始我们的新旅程.在这个Kafka教程中,我们将看到什么是Kafka,Apache Kafka历史以及Kafka的原因.此外 ...

  9. 手把手教你玩转 Gitea|在 Windows 系统上安装 Gitea

    Gitea 支持在 Windows 系统上安装和使用.Gitea 本身作为一个单体应用程序,即点即用,如需长期驻留作为后台服务并开机运行就要依靠 Windows 服务工具 sc.exe. 通过本文,你 ...

随机推荐

  1. ajax方法简单实现

    //option {url,medthod,type,data,fSuccess,fError} function ajax(option) { var xhr = window.XMLHttpRqu ...

  2. 微博RPC框架motan入门笔记

    Motan 是一套高性能.易于使用的分布式远程服务调用(RPC)框架. 功能 支持通过spring配置方式集成,无需额外编写代码即可为服务提供分布式调用能力. 支持集成consul.zookeeper ...

  3. R语言爬虫初尝试-基于RVEST包学习

    注意:这文章是2月份写的,拉勾网早改版了,代码已经失效了,大家意思意思就好,主要看代码的使用方法吧.. 最近一直在用且有维护的另一个爬虫是KINDLE 特价书爬虫,blog地址见此: http://w ...

  4. PHP数据采集curl常用的5个例子

    用php ,curl主要是抓取数据,当然我们可以用其他的方法来抓取,比如fsockopen,file_get_contents等.但是只能抓那些能直接访问的页面,如果要抓取有页面访问控制的页面,或者是 ...

  5. Memcached集群/分布式/高可用 及 Magent缓存代理搭建过程 详解

    当网站访问量达到一定时,如何做Memcached集群,又如何高可用,是接下来要讨论的问题. 有这么一段文字来描述“Memcached集群” Memcached如何处理容错的? 不处理!:) 在memc ...

  6. Javascript实现图片预加载【回调函数,多张图片】

    使用JS实现一组图片动画效果或者使用HTML5 Canvas渲染一系列图片等案例中,需要图片全部加载完成方可运行动画效果.此时程序中就会涉及多张图片预加载代码.当接二连三的案例中都涉及图片预加载时,就 ...

  7. CentOS 安装tomcat 7

    安装环境:CentOS-6.3 安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz 下载地址:http://tomcat.apache.org/download-70.c ...

  8. Java的内存机制

    Java 把内存划分成两种:一种是栈内存,另一种是堆内存.在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配,当在一段代码块定义一个变量时,Java 就在栈中为这个变量分配内存空 ...

  9. bootstrap 笔记

    导航条: div.navbar.navbar-default > ul.nav.navbar 无非两层: 父div: navbar {相对位置.最低高度50px.下部margin:20px.透明 ...

  10. java中的集合

    集合比数组的优势: 1.集合可以存任意类型的变量,长度是可变的 2.数组只能存同一类型的变量,长度是固定的 3.集合中只能存对象 List集合 : 接口  提供公有的方法 特有的方法: 1.List中 ...