专栏首页授客的专栏Kafka kafka在windows下的安装与配置

Kafka kafka在windows下的安装与配置

kafka在windows下的安装与配置

By: 授客 QQ:1033553122

1.测试环境.................................................................................................................

2.安装JAVA JDK........................................................................................................

3.安装zookeeper......................................................................................................

4.安装KafKa..............................................................................................................

5.测试.........................................................................................................................

1.测试环境

JDK 1.8.0_121

zookeeper-3.4.13.tar.gz

下载地址1:

http://zookeeper.apache.org/releases.html#download

https://www.apache.org/dyn/closer.cgi/zookeeper/

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

下载地址2:

https://pan.baidu.com/s/1dnBgHvySE9pVRZXJVmezyQ

kafka_2.12-2.1.0.tgz

下载地址1:

http://kafka.apache.org/downloads.html

下载地址2:

https://pan.baidu.com/s/1VnHkJgy4iQ73j5rLbEL0jw

2.安装JAVA JDK

3.安装zookeeper

1)解压下载的软件包zookeeper-3.4.13.tar.gz 至目标目录(例中为:D:\Program Files\zookeeper-3.4.13)

2)修改配置文件

进入conf目录(例中为:D:\Program Files\zookeeper-3.4.13\conf), 复制“zoo_sample.cfg”为“zoo.cfg”文件,编辑zoo.cfg,

查找并设置dataDir,设置数据存储目录,如下:

dataDir=D:\\Program Files\\zookeeper-3.4.13\\tmpzookeeper

查找并设置clientPort(有必要的话),设置客户端连接端口,默认端口2181,如下:

clientPort=2181

3)配置系统环境变量

添加系统环境变量:ZOOKEEPER_HOME,设置对应值(例中配置:ZOOKEEPER_HOME= D:\Program Files\zookeeper-3.4.13\

编辑path系统变量,添加路径:%ZOOKEEPER_HOME%\bin

4)验证

打开cmd控制台窗口,输入“zkServer“,运行Zookeeper

4.安装KafKa

1) 解压kafka_2.12-2.1.0.tgz至目标目录(例中为:D:\kafka_2.12-2.1.0

2) 修改配置

进入到配置目录(例中为:D:\kafka_2.12-2.1.0\config),编辑server.properties文件,

查找并设置log.dirs,配置日志目录,例中配置如下:

log.dirs=D:\\kafka_2.12-2.1.0\\tmp\\kafka-logs

查找并设置zookeeper.connect,配置zookeeper连接字符串,格式:ip1:端口1,ip2:端口2,……,ipN:端口N,比如127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002,每对ip和端口分别代表一个zookeeper服务器,kafka会按这里的配置去连接zookeeper,例中配置如下:

zookeeper.connect=127.0.0.1:2181

查找并设置listener,配置监听端口,格式:listeners = listener_name://host_name:port,供kafka客户端连接用的ip和端口,例中配置如下:

listeners=PLAINTEXT://127.0.0.1:9092

3)启动kafka

进入到kafka解压目标目录(bin目录的父目录),执行 .\bin\windows\kafka-server-start.bat .\config\server.properties,启动kafka,如下:

实践过程中,执行命令后有遇到以下问题:

问题:

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

此时不应有 \myeclipse\MyEclipse。

解决方法:

去掉我本机之前配置的一个环境变量(TESTNG_HOME=D:\Program Files (x86)\myeclipse\MyEclipse 10\dropins\org.testng.eclipse_6.8.6.20130607_0745\lib\testng.jar

)后搞定

问题:

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

命令语法不正确。

错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_121\lib\dt.jar;D:\Program

解决方法:

编辑D:\kafka_2.12-2.1.0\bin\windows\kafka-run-class.bat文件,

找到

set COMMAND=%JAVA% %KAFKA_HEAP_OPTS% %KAFKA_JVM_PERFORMANCE_OPTS% %KAFKA_JMX_OPTS% %KAFKA_LOG4J_OPTS% -cp %CLASSPATH% %KAFKA_OPTS% %*

替换这里的%CLASSPATH % 为 "%CLASSPATH %"

5.测试

1)创建主题

.\bin\windows\kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 4 --topic MY_TOPIC1

WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.

Created topic "MY_TOPIC1".

.\bin\windows\kafka-topics.bat --create --zookeeper 127.0.0.1:2181 --replication-factor 1 --partitions 4 --topic MY_TOPIC2

WARNING: Due to limitations in metric names, topics with a period ('.') or underscore ('_') could collide. To avoid issues it is best to use either, but not both.

Created topic "MY_TOPIC2".

2)查看创建的主题

.\bin\windows\kafka-topics.bat --zookeeper 127.0.0.1:2181 --list

MY_TOPIC1

MY_TOPIC2

2)生产消息

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic MY_TOPIC1

>Hello, 2019

>Hello,2020

>Hello,2021

3) 消费消息

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic MY_TOPIC1 --from-beginning

Hello, 2019

.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic MY_TOPIC1 --group MY_GROUP1

Hello,2020

D:\kafka_2.12-2.1.0>.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic MY_TOPIC1 --group MY_GROUP2

Hello,2021

说明:

--bootstrap-server 指定需要连接的服务器

--group 指定消费者所属消费组

--topic 指定消费者要消费的主题

--from-beginning 从头开始接收数据,可以理解为offset为0

注:实践中,生产每条消息前,仅开启一个消费者客户端进行消费

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • redis 在Linux下的安装与配置

    [root@localhost mnt]# tar xzf redis-3.0.7.tar.gz

    授客
  • Python 利用Python操作excel表格之xlwt介绍

    sheet1 = work_book.add_sheet('sheet1') # 添加表单 add_sheet(表单名称)

    授客
  • 排错-LR安装No Background bmp defined in ...的解决办法

    LR安装No Background bmp defined in section General entry BGBmp的解决办法

    授客
  • python基础教程:作用域和命名空间

    命名空间和作用域的概念我们之前也提到过,比如内置函数globals(),函数中变量的作用域,模块使用的import等等。这些可能让我们对这两个概念有了大致的理解...

    一墨编程学习
  • 2016年人工智能产业梳理:一朝引爆,稳步前进(上篇)

    镁客网
  • 如何使用Linux的Crontab执行PHP脚本

    我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可...

    wangxl
  • 迁移到云端?SD-WAN很重要!

    高性能的SD-WAN解决方案提供了一种安全可靠的方式,可以灵活地将用户连接到应用程序以使用任何底层传输组合。

    静一
  • IQueryable与IEnumberable的区别

    转自 http://www.cnblogs.com/fly_dragon/archive/2011/02/21/1959933.html

    CherishTheYouth
  • Influxdb 编译

    扫帚的影子
  • exports和module.exports介绍

    为了让nodejs开发过程中,为了让Node.js的文件可以相互调用,Node.js提供了一个简单的模块系统,模块是Node.js 应用程序的基本组成部分,文件...

    OECOM

扫码关注云+社区

领取腾讯云代金券