博主最近在学习有关kafka的配置安装以及在spring的集成使用。但网上关于kafka的配置参考资料基本都是于linux下的配置,于是博主在整理了相关windows下kafka的配置记录在博客里。由于是简单配置所以在这里只建了一个topic以及一个producer和两个consumer。

关于kafka具体是什么以及他的设计原理使用场景等等请看上篇博客,转自大佬。传送门:http://www.cnblogs.com/wdfordream/p/7324975.html

在官网上下载 zookeeper和kafka(我下的版本kafka_2.11-0.11.0.0,这个版本中bin目录下有windows目录),注意不要下载源码包(名字中带有src),否则启动的时候会报错。

1、配置好jdk环境

2、解压zookeeper到指定目录,找到解压后目录中conf文件夹中zoo_sample - 副本.cfg文件,复制在conf中改名为zoo.cfg。在bin文件夹中打开zkServer.bat启动zookeeper。

至此,zookeeper启动完成。

3、解压kafka到指定目录。查看kafka根目录中config文件夹下server.properties,确认其中关于zookeeper的连接端口和zookeep中zoo.cfg的端口一致。

  3.1、启动kafka

  在cmd中进入kafka根目录。输入以下命令:

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

  

  kafka启动成功

  3.2、创建topic

  在cmd中进入kafka\bin\windows目录,输入以下命令:

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

  

  创建成功

  3.3、创建kafka producer

  在cmd中进入kafka\bin\windows目录,输入以下命令:

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

  注意这里的端口和server.properties的端口号一致。

  

  3.4创建consumer

  在cmd中进入kafka\bin\windows目录,输入以下命令:

  kafka-console-consumer.bat --zookeeper localhost:2181 --topic test

  

  以同样的方式创建另一个consumer。

4、测试

在producer中输入一句话并回车,可以在两个consumer中得到相关信息。

5、其他相关命令

查看已建立的topics:kafka-topics.bat --list --zookeeper localhost:2181

查看每个节点信息  :kafka-topics.bat --describe --zookeeper localhost:2181 --topic my-replicated-topic

6、问题整理

6.1、kafka启动时报异常Caused by:java.lang.OutOfMemoryError:Map failed

在这里博主的办法是将kafka-server-run.bat里的参数set KAFKA_HEAP_OPTS=-Xmx512M -Xms512M改为256M,如果有更好的解决办法谢谢大家能告诉我。

6.2、kafka启动时报异常Caused by: java.nio.file.FileSystemException: \tmp\kafka-logs\topic.alarmMatchFace-0\00000000000000009163.log -> \tmp\kafka-logs\topic.alarmMatchFace-0\00000000000000009163.log.deleted: 另一个程序正在使用此文件,进程无法访问。

主要是因为tmp/kafka-logs文件的日志达到了1G且未被清理。由于这样的错误是在kafka服务关闭后重启kafka服务引起的,博主暂无什么好的解决方法,每次把tmp下的kafka-logs文件夹删除,再启动kafka服务就不会报错了,希望各位大大如果有好的方法能告知我一下,谢谢啦。

kafka在windows下的安装和配置的更多相关文章

  1. Windows下pry安装和配置

    Windows下pry安装和配置 pry是一个增强型的交互式命令行工具,比irb强大. 有自动完成功能,自动缩进,有颜色.有更强大的调试功能. pry 安装很简单. 在终端输入: gem instal ...

  2. windows下redis安装和配置

    windows下redis安装和配置 redis介绍 Redis是一个开源,高级的键值存储和一个适用的解决方案,用于构建高性能,可扩展的Web应用程序. Redis有三个主要特点,使它优越于其它键值数 ...

  3. solr在windows下的安装及配置

    solr在windows下的安装及配置 首先,solr是基于Java开发的,所以使用的话需要先进行java环境的配置,在Java环境配置好之后就可以去http://www.apache.org/dyn ...

  4. Lua在Windows下的安装、配置、运行

    Lua在Windows下的安装.配置.运行 本文链接:https://blog.csdn.net/ChinarCSDN/article/details/78667262 展开 # Windows下安装 ...

  5. windows下手动安装和配置xamarin

    安装xamarin xamarin官方给出了两种安装方式,自动安装和手动安装. 自动安装比较简单,到http://xamarin.com/download下载xamarininstaller.exe ...

  6. QT在windows下的安装与配置

    先了解Qt: Qt一直以来,分为商业.开源两个版本,商业版本为用户提供了二级制的动态库,直接安装既可以使用,但是需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才 ...

  7. windows下nginx安装、配置与使用(转载)

    目前国内各大门户网站已经部署了Nginx,如新浪.网易.腾讯等:国内几个重要的视频分享网站也部署了Nginx,如六房间.酷6等.新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx ...

  8. Python在windows下的安装与配置

    安装python 文件准备: A. python安装文件:我用的是python-3.4.3.amd64.msi: 安装很简单,直接双击点下一步即可: 配置环境变量,在windows系统变量中找到pat ...

  9. windows下nginx安装、配置与使用

    目前国内各大门户网站已经部署了Nginx,如新浪.网易.腾讯等:国内几个重要的视频分享网站也部署了Nginx,如六房间.酷6等.新近发现Nginx 技术在国内日趋火热,越来越多的网站开始部署Nginx ...

随机推荐

  1. 使用c#解析json库

    写了个c#版的json解析库,提供了json到hashtable以及hashtable到json字符串的转换 受惠于c#的语法特性,hashtable到json的解析变得非常简单 先判断传入的obje ...

  2. 【Android Developers Training】 99. 获取联系人详细信息

    注:本文翻译自Google官方的Android Developers Training文档,译者技术一般,由于喜爱安卓而产生了翻译的念头,纯属个人兴趣爱好. 原文链接:http://developer ...

  3. file里的路径

    实例话file类的对象 File file=new File("d:/mydoc/hello.txt") 文件名:fileMethod.java 相对路径:fileMethod.j ...

  4. 多线程下System.Security.Cryptography.Aes CreateDecryptor报“Safe handle has been closed”的解决方案

    因为系统需要对一些核心数据进行预加载以保证查询速度. 所以在application_start 事件中启用了后台线程对相关的数据进行加载并解密(为了保证解密的效率,将AES对像做了静态对像来保存:pr ...

  5. CSS 选择器优先级问题

    <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> &l ...

  6. 在Linux上创建Postgresql数据库

    由于前一次用默认的配置创建pgsql数据库倒置root的占用率达到97%. 重新创建一次数据库,很多坑又忘了. 创建一个放Data的文件夹,/majestic12/pgsql/data PGDATA ...

  7. iOS多线程开发之NSOperation - 快上车,没时间解释了!

    一.什么是NSOperation? NSOperation是苹果提供的一套多线程解决方案.实际上NSOperation是基于GCD更高一层的封装,但是比GCD更加的面向对象.代码可读性更高.可控性更强 ...

  8. Mybatis-多对多

    先说一下需求: 在页面上显示数据库中的所有图书,显示图书的同时,显示出该图书所属的类别(这里一本书可能同时属于多个类别) 测试环境:MySQL.MyEclipse 创建表: 笔者这里使用 中间表 连接 ...

  9. JS - 数据类型的值拷贝函数(深拷贝)

    function mottoClone (obj) { if (obj === null || typeof obj !== 'object') return obj; if (obj instanc ...

  10. forEach( ) map( ) for( in ) for ( of )

    ====forEach()和map()遍历 共同点: 1.都是循环遍历数组中的每一项. 2.forEach() 和 map() 里面每一次执行匿名函数都支持3个参数:数组中的当前项item,当前项的索 ...