Kafka配置1--Windows环境安装和配置Kafka
Kafka配置2--Windows下配置Kafka的SASL-PLAIN身份验证
Kafka配置3--Windows下配置Kafka集群
Kafka配置4--Windows下配置Kafka的SSL证书
Kafka配置5--Windows下配置Kafka的集群+SASL+SSL
Kafka配置6--Windows下设置和增加SASL用户或用户权限
1、下载地址:
http://kafka.apache.org/downloads.html
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/
如:
https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.13-2.4.0.tgz
http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.13-2.4.0.tgz
2、安装
由于Kafka依赖于Java JDK和zookeeper环境,所以首先应先按照顺序安装二者。
2.1、安装Java JDK(略过)
注意:需要设置JAVA_HOME和PATH的系统环境变量
如系统变量中增加变量名JAVA_HOME的变量值为D:\Net_Program\Net_Java
PATH中增加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin
2.2、安装zookeeper
2.2.1、下载地址:
官网地址:https://www.apache.org/dyn/closer.cgi/zookeeper/
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
如:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.6.0/apache-zookeeper-3.6.0-bin.tar.gz
2.2.2、安装
将下载下来的Zookeeper压缩包解压到某目录下,如:D:\Net_Program\Net_Zookeeper
目录说明:
bin:操作kafka的可执行脚本,还包含windows下脚本
config:配置文件所在目录
libs:依赖库目录
site-docs:
2.2.3、修改配置文件
将解压目录conf中的zoo_sample.cfg复制一份,并重命名为zoo.cfg(什么要复制一份重命名为zoo.cfg?因为项目启动时默认去加载conf路径下的zoo.cfg作为启动的配置文件)
修改dataDir配置和增加dataLogDir配置,dataDir用于存放数据,dataLogDir用于存放日志,如下配置所示:
# 存放数据
dataDir=D:/Net_Program/Net_Zookeeper/data-file
# 存放日志
dataLogDir=D:/Net_Program/Net_Zookeeper/data-log
# 数据文件
dataDir=D:/Net_Program/Net_Kafka/data-zookeeper/data-file
# 日志文件,为了更好的性能,通常将日志文件挂载在单独的磁盘分区
dataLogDir=D:/Net_Program/Net_Kafka/data-zookeeper/data-log
2.2.4、启动zookeeper
以管理员身份运行CMD,定位到安装目录下的bin目录,执行命令zkServer即可
或者手动双击zkServer.cmd
我们也可以将其设置到系统变量,添加系统变量名ZOOKEEPER_HOME变量值为D:\Net_Program\Net_Zookeeper
Path中增加%ZOOKEEPER_HOME%\bin,接下来我们以管理员身份运行CMD,直接输入zkServer即可启动服务
使用nc -vz 192.168.3.200 2181命令可验证Zookeeper服务是否开启(需要电脑上安装netcat工具)
2.2.5、将Zookeeper设置为Windows系统服务
在这里我们使用NSSM工具将其设置为系统服务
打开NSSM的win64的文件夹,如D:\Net_业务软件\Net_NSSM\nssm-2.24\win64,然后按住Shift+鼠标右键点击文件夹空白处,选择“在此处打开Powershell窗口”
然后输入.\nssm install调出设置窗体
在弹出的窗体中,Application选项卡中,
Path:选择zkServer.cmd所在的路径,如D:\Net_Program\Net_Zookeeper\bin\zkServer.cmd
Startup directory:选择Path后,Startup directory选择会自动填充
Argument:为启动服务的参数,此处为空即可
Service name:服务名称,如Zookeeper-Service
设置完成后点击Install service按钮即完成,此时去查看系统服务有多了一个叫Zookeeper-Service的服务了
注:
zookeeper3.5.4版本需要JDK1.8以上版本支持
虽然最新版的Kafka中已经内置了zookeeper,但是不建议使用,最好全新部署一套
Zookeeper安装配置参考:https://blog.csdn.net/skh2015java/article/details/85014859
Zookeeper配置参数:https://blog.csdn.net/liereli/article/details/80039124
2.3、安装Kafka
将下载下来的Kafka压缩包解压到某目录下,如:D:\Net_Program\Net_Kafka
3、配置Kafka
3.1、修改server.properties
3.1.1、找到安装目录config中的server.properties文件,用记事本等工具打开,根据实际情况配置相关信息,如下所示对常用的配置进行修改或说明
# broker的全局唯一编号,不能重复
broker.id=0
# 用来监听链接的端口,producer或consumer将在此端口建立连接
port=9092
# 处理网络请求的线程数量
num.network.threads=3
# 用来处理磁盘IO的线程数量
num.io.threads=8
# 发送套接字的缓冲区大小
socket.send.buffer.bytes=102400
# 接受套接字的缓冲区大小
socket.receive.buffer.bytes=102400
# 请求套接字的缓冲区大小
socket.request.max.bytes=104857600
# kafka消息存放的路径
log.dirs=D:/Net_Program/Net_Kafka/kafka-data
# topic在当前broker上的分片个数
num.partitions=1
# 用来恢复和清理data下数据的线程数量
num.recovery.threads.per.data.dir=1
# 默认消息的最大持久化时间,168小时,7天
log.retention.hours=168
# 日志文件中每个segment的大小,默认为1G
log.segment.bytes=1073741824
# 周期性检查文件大小的时间
log.retention.check.interval.ms=300000
# 日志清理是否打开,一般不用启用,启用的话可以提高性能
log.cleaner.enable=false
# zookeeper集群的地址,可以是多个,多个之间用逗号分割hostname1:port1,hostname2:port2,hostname3:port3
zookeeper.connect=localhost:2181
# zookeeper链接超时时间
zookeeper.connection.timeout.ms=6000
# partion buffer中,消息的条数达到阈值,将触发flush到磁盘
#log.flush.interval.messages=10000
# 消息buffer的时间,达到阈值,将触发flush到磁盘
#log.flush.interval.ms=1000
############################# 其他 #############################
# 消息保存的最大值20M
message.max.byte=20971520
# kafka保存消息的副本数,如果一个副本失效了,另一个还可以继续提供服务
default.replication.factor=2
# 取消息的最大直接数
replica.fetch.max.bytes=5242880
3.1.2、详细配置说明
参考:
apache kafka系列之server.properties配置文件参数说明:https://blog.csdn.net/lizhitao/article/details/25667831
Kafka安装教程(详细过程):https://blog.csdn.net/Poppy_Evan/article/details/79415460
3.2、启动Kafka服务
以管理员身份运行CMD,定位到安装目录,执行如下命令
.\bin\windows\kafka-server-start.bat .\config\server.properties
我们也可以将其设置到系统变量,添加系统变量名KAFKA_HOME变量值为D:\Net_Program\Net_Kafka
Path中增加%KAFKA_HOME%\bin和%KAFKA_HOME%\bin\windows,接下来我们以管理员身份运行CMD,输入如下命令即可启动服务
kafka-server-start D:\Net_Program\Net_Kafka\config\server.properties
使用nc -vz 192.168.3.200 9092命令可验证Kafka服务是否开启(需要电脑上安装netcat工具)
将Kafka设置为Windows系统服务
在这里我们使用NSSM工具将其设置为系统服务
打开NSSM的win64的文件夹,如D:\Net_业务软件\Net_NSSM\nssm-2.24\win64,然后按住Shift+鼠标右键点击文件夹空白处,选择“在此处打开Powershell窗口”
然后输入.\nssm install调出设置窗体
在弹出的窗体中,Application选项卡中,
Path:选择kafka-server-start.bat所在的路径,如D:\Net_Program\Net_Kafka\bin\windows\kafka-server-start.bat
Startup directory:选择Path后,Startup directory选择会自动填充
Argument:为启动服务的参数,此处填写D:\Net_Program\Net_Kafka\config\server.properties
Service name:服务名称,如Kafka-Service
设置完成后点击Install service按钮即完成,此时去查看系统服务有多了一个叫Kafka-Service的服务了
3.3、Kafka命令
3.3.1、创建主题
以管理员身份运行CMD,定位到安装目录,执行如下命令来创建一个名称为TestTheme1的主题
.\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TestTopic1
或
kafka-topics --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TestTopic1
3.3.2、查看主题
以管理员身份运行CMD,定位到安装目录,执行如下命来查看创建的主题
.\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --list
或
kafka-topics --zookeeper localhost:2181 --list
3.3.3、启动生产者producer
以管理员身份运行CMD(新开一个CMD窗体,即模拟生产者窗体),定位到安装目录,执行如下命
.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic TestTopic1
或
kafka-console-producer --broker-list localhost:9092 --topic TestTopic1
3.3.4、启动消费者consumer
以管理员身份运行CMD(新开一个CMD窗体,即模拟消费者窗体),定位到安装目录,执行如下命
.\bin\windows\kafka-console-consumer.bat --zookeeper localhost:2181 --topic TestTopic1 → 该命令可能会报错:zookeeper is not a recognized option
改用如下命令即可:
.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic TestTopic1 --from-beginning
或
kafka-console-consumer --bootstrap-server localhost:9092 --topic TestTopic1 --from-beginning
3.3.5、测试发送和接收
切换到刚才创建的生产者窗体,输入内容回车,然后即可在消费者窗体看到生产者发送过来的消息内容
4、Kafka可视化工具
下载地址:http://www.kafkatool.com/download.html
如:http://www.kafkatool.com/download2/kafkatool_64bit.exe
下载完成安装即可
设置:
安装完成后,打开软件,Tools→Settings→Topics,将右侧的Default Content Types中的Key和Message选择为String,点击OK按钮
也可以鼠标点击具体的主题,右侧的属性(Properties)面板中,Content Types中的Key和Message选择为String,然后点击Update和Refresh即可
参考文章:
kafka可视化客户端工具(Kafka Tool)的基本使用:https://www.cnblogs.com/frankdeng/p/9452982.html
Kafka 可视化工具(Kafka Tool):https://www.cnblogs.com/miracle-luna/p/11299345.html
5、相关文档 Kafka安装与配置:https://blog.csdn.net/twypx/article/details/81257715
Kafka配置SSL认证:https://blog.csdn.net/justry_deng/article/details/88383707
SSL认证之相关证书的生成:https://blog.csdn.net/justry_deng/article/details/88383081
Kafka分布式消息系统(SSL客户端):http://www.tracefact.net/tech/109.html
证书密钥转换P12,JKS,CER,RFX,PEM:https://www.jianshu.com/p/dff237d75516