【kafka】windows下安装kafka
kafka简介
(一)、kafka是由apache软件基金会开发的一个开源流处理平台,由scala和java编写。kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。
(二)、kafka 本质上是⼀个消息队列。与zeromq不同的是,kafka是一个独立的框架而不是一个库。
(三)、kafka 是一种高吞吐量 的分布式发布订阅消息系统,有如下特性:
- 通过o(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以tb的消息存储也能够保持长时间的稳定性能。
- 高吞吐量 :即使是非常普通的硬件kafka也可以支持每秒数百万的消息。
- 支持通过kafka服务器和消费机集群来分区消息。
- 支持hadoop并行数据加载。
一、kafka安装前提
安装kafka之前,需要安装jdk、zookeeper、scala。
- kafka依赖zookeeper,在安装kafka之前,需要安装、运行zookeeper。
- 而且kafka是由scala和java编写,所以也需要安装jdk、scala。
本次安装版本选择:
jdk:1.8
zookeeper:3.6.4
scala:2.12
kafka:3.5.1
1.1、jdk安装(version:1.8)
1.1.1、jdk官网下载
官网下载地址(需要oracle账号)
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
1.1.2、jdk网盘下载
或者网盘下载:jdk-8u381-windows-x64.exe
1.1.3、jdk安装
安装方法就不赘述了。
1.2、zookeeper安装
1.2.1、zookeeper官网下载
官网下载地址:https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz
1.2.2、zookeeper网盘下载
或者网盘下载:apache-zookeeper-3.6.4-bin.tar.gz
1.2.3、zookeeper安装
安装方法就不赘述了。
参考博文:windows下安装zookeeper(图文记录详细步骤,手把手包安装成功)
1.3、scala安装(version:2.12)
1.3.1、scala官网下载
官网下载地址:
https://downloads.lightbend.com/scala/2.11.12/scala-2.11.12.msi
1.3.2、scala网盘下载
或者网盘下载:scala-2.11.12.msi
1.3.3、scala安装
安装方法就不赘述了。
可参考博文:windows下安装scala(以scala 2.11.12为例)
二、kafka安装(version:2.12-3.5.1)
version:2.12-3.5.1,表示scala版本是2.12,kafka版本是基于此的3.5.1版本。
2.1、kafka官网下载
官网下载地址:https://downloads.apache.org/kafka/3.5.1/kafka_2.12-3.5.1.tgz
2.2、kafka网盘下载
网盘下载地址:kafka_2.12-3.5.1.tgz
2.3、kafka安装
2.3.1、解压kafka安装包到安装目录
这里解压到:d:\bigdata\kafka\2.12-3.5.1
2.3.2、kafka安装目录下新建目录logs
2.3.3、修改kafka配置文件 server.properties
文件路径:d:\bigdata\kafka\2.12-3.5.1\config\server.properties
2.3.3.1、修改 log.dirs 参数
修改 log.dirs 参数值,修改成上一步新建的logs文件夹。注意文件夹路径中是双左斜杠
log.dirs=d:\\bigdata\\kafka\\2.12-3.5.1\\logs
2.3.3.2、修改 listeners 参数
修改 listeners 参数值。
listeners=plaintext://localhost:9092
2.4、kafka启动
由于kafka依赖于zookeeper,所以要先启动zookeeper,再启动kafka。
2.4.1、先启动zookeeper服务
管理员权限打开命令窗口,输入命令zkserver,启动zookeeper服务:
zkserver
显示如下信息,则表示zookeeper服务正常运行:
2.4.2、再启动kafka服务
管理员权限打开命令窗口,进入到kafka安装目录(d:\bigdata\kafka\2.12-3.5.1)。
输入如下命令启动kafka服务:
.\bin\windows\kafka-server-start.bat .\config\server.properties
显示如下信息,则表示kafka服务正常运行:
2.4、kafka相关操作(kafka新版本命令)
kafka2.2之后版本中使用–zookeeper hadoop01:2181会出现报错情况,2.2之后的版本使用了–bootstrap-server hadoop01:9092来替换–zookeeper hadoop01:2181
2.4.1、创建topics
以管理员权限新开一个命令提示窗口,进入d:\bigdata\kafka\2.12-3.5.1\bin\windows目录,执行以下命令,创建topics:
kafka-topics.bat --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test
2.4.2、查看topics
查看topics列表:
kafka-topics.bat --bootstrap-server localhost:9092 --list
2.4.3、打开一个producer(生产者)
以管理员权限新开一个命令提示窗口,进入d:\bigdata\kafka\2.12-3.5.1\bin\windows目录,
执行以下命令,打开一个producer(生产者):
kafka-console-producer.bat --broker-list localhost:9092 --topic test
2.4.4、打开一个consumer(消费者)
以管理员权限新开一个命令提示窗口,进入d:\bigdata\kafka\2.12-3.5.1\bin\windows目录,执行以下命令,打开一个consumer(消费者):
kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
2.4.5、测试发送和接受消息
以上打开的窗口不要关闭,然后就可以在producer(生产者)控制台窗口输入消息并回车。在消息输入过后,很快consumer(消费者)窗口就会显示出producer(生产者)发送的消息。
2.4.5.1、producer(生产者)发送消息
在producer(生产者)控制台窗口输入消息:
2.4.5.2、consumer(消费者)接收消息
在consumer(消费者)控制台窗口查看消息:
我们发现,producer(生产者)发送的消息被consumer(消费者)接受到了。
这里乱码是字符集的问题。
三、常见问题记录汇总
3.1、乱码解决
乱码解决可以参看下面两篇文章:
3.2、收不到消息,常见情况
- 在consumer没有打开之前,就在producer里面发送了消息
- producer和consumer使用的topic不一致
发表评论