千家信息网

win10如何搭建kafka环境

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"win10如何搭建kafka环境",在日常操作中,相信很多人在win10如何搭建kafka环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"win10
千家信息网最后更新 2026年10月31日win10如何搭建kafka环境

这篇文章主要介绍"win10如何搭建kafka环境",在日常操作中,相信很多人在win10如何搭建kafka环境问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"win10如何搭建kafka环境"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

说明

  • 本博客每周五更新一次。

  • 本片博文主要介绍win10安装kafka过程,官方脚本说明和数据生成、接受测试,实践性强。

运行环境

  • jdk 1.8

  • kafka 2.4.1

  • scala 2.12

搭建步骤

下载安装包

  • 下载kafka 地址 官方版内置zk

    • kafka2.4.1 scala 2.12下载地址

配置

安装配置

  • 创建文件夹

    • 在kafka根目录下新建data(存放快照)和kafka-logs(日志的存储文件夹)

  • 修改配置:进入到config目录,

    • 修改service.properties里面log.dirs路径未log.dirs=D:\test\kafka_2.12-2.4.1\kafka-logs(注意:文件夹分割符一定要是"\")

    • 修改zookeeper.properties里面dataDir路径为dataDir=D:\test\kafka_2.12-2.4.1\data

server.properties说明

  • log.dirs:指定Broker需要使用的若干个文件目录路径,没有默认值,必须指定。在生产环境中一定要为log.dirs配置多个路径,如果条件允许,需要保证目录被挂载到不同的物理磁盘上。优势在于,提升读写性能,多块物理磁盘同时读写数据具有更高的吞吐量;能够实现故障转移(Failover),Kafka 1.1版本引入Failover功能,坏掉磁盘上的数据会自动地转移到其它正常的磁盘上,而且Broker还能正常工作,基于Failover机制,Kafka可以舍弃RAID方案。

  • zookeeper.connect:CS格式参数,可以指定值为zk1:2181,zk2:2181,zk3:2181,不同Kafka集群可以指定:zk1:2181,zk2:2181,zk3:2181/kafka1,chroot只需要写一次。

  • listeners:设置内网访问Kafka服务的监听器。

  • advertised.listeners:设置外网访问Kafka服务的监听器。

  • auto.create.topics.enable:是否允许自动创建Topic。

  • unclean.leader.election.enable:是否允许Unclean Leader 选举。

  • auto.leader.rebalance.enable:是否允许定期进行Leader选举,生产环境中建议设置成false。

  • log.retention.{hours|minutes|ms}:控制一条消息数据被保存多长时间。优先级:ms设置最高、minutes次之、hours最低。

  • log.retention.bytes:指定Broker为消息保存的总磁盘容量大小。message.max.bytes:控制Broker能够接收的最大消息大小。

启动

  • bin目录下windows执行脚本

启动zookeeper

  • kafka根目录执行.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties ,启动后,不要关闭页面。

启动kafka

  • kafka根目录执行.\bin\windows\kafka-server-start.bat .\config\server.properties,启动后不要关闭。

kafka脚本

  • windows系统bat脚本与sh脚本对应。

脚本说明

  • connect-standalone.sh用于启动单节点的Standalone模式的Kafka Connect组件。

  • connect-distributed.sh用于启动多节点的Distributed模式的Kafka Connect组件。

  • kafka-acls.sh脚本用于设置Kafka权限,比如设置哪些用户可以访问Kafka的哪些TOPIC的权限。

  • kafka-delegation-tokens.sh用于管理Delegation Token。基于Delegation Token的认证是一种轻量级的认证机制,是对SASL认证机制的补充。

  • kafka-topics.sh用于管理所有TOPIC。

  • kafka-console-producer.sh用于生产消息。

  • kafka-console-consumer.sh用于消费消息。

  • kafka-producer-perf-test.sh用于生产者性能测试。

  • kafka-consumer-perf-test.sh用于消费者性能测试。

  • kafka-delete-records.sh用于删除Kafka的分区消息,由于Kafka有自己的自动消息删除策略,使用率不高。

  • kafka-dump-log.sh用于查看Kafka消息文件的内容,包括消息的各种元数据信息、消息体数据。

  • kafka-log-dirs.sh用于查询各个Broker上的各个日志路径的磁盘占用情况。

  • kafka-mirror-maker.sh用于在Kafka集群间实现数据镜像。

  • kafka-preferred-replica-election.sh用于执行Preferred Leader选举,可以为指定的主题执行更换Leader的操作。

  • kafka-reassign-partitions.sh用于执行分区副本迁移以及副本文件路径迁移。

  • kafka-run-class.sh用于执行任何带main方法的Kafka类。

  • kafka-server-start.sh用于启动Broker进程。

  • kafka-server-stop.sh用于停止Broker进程。

  • kafka-streams-application-reset.sh用于给Kafka Streams应用程序重设位移,以便重新消费数据。

  • kafka-verifiable-producer.sh用于测试验证生产者的功能。

  • kafka-verifiable-consumer.sh用于测试验证消费者功能。

  • trogdor.sh是Kafka的测试框架,用于执行各种基准测试和负载测试。

  • kafka-broker-api-versions.sh脚本主要用于验证不同Kafka版本之间服务器和客户端的适配性。

脚本使用

  • 查看所有topic:.\bin\windows\kafka-topics.bat --zookeeper zookeeper_host:port --list

  • 创建名为test的topic设置3个副本1个分区:.\bin\windows\kafka-topics.bat --zookeeper zookeeper_host:port --create --replication-factor 3 --partitions 1 --topic test

  • 删除名为test的topic:.\bin\windows\kafka-topics.bat --zookeeper zookeeper_host:port --delete --topic test

  • 查看topic信息:.\bin\windows\kafka-topics.bat --zookeeper zookeeper_host:port --describe --topic test

  • 修改topic分区数:kafka-topics.sh --bootstrap-server zookeeper_host:port --alter --topic test --partitions 新分区数

  • topic限速

    • --entity-name参数用于指定Broker ID。如果TOPIC的副本分别在多个Broker上,需要依次为相应Broker执行。

    • 当某个topic副本在执行副本同步机制时,为了不消耗过多的带宽,可以设置Leader副本和Follower副本使用的带宽,不得占用超过100MBps(104857600)。先设置Broker端参数leader.replication.throttled.rate 和 follower.replication.throttled.rate,命令如下:kafka-configs.sh --zookeeper zookeeper_host:port --alter --add-config 'leader.replication.throttled.rate=104857600,follower.replication.throttled.rate=104857600' --entity-type brokers --entity-name 0

    • 为TOPIC的所有副本都设置限速,可以统一使用通配符*来表示,命令如下:kafka-configs.sh --zookeeper zookeeper_host:port --alter --add-config 'leader.replication.throttled.replicas=*,follower.replication.throttled.replicas=*' --entity-type topics --entity-name test

kafka功能测试

端口说明

  • 2181 zk通信端口,操作topic使用

  • 9092 数据端口,数据生产者和消费者使用

创建topic主题

  • 创建名字为test的topic主题,kafka根目录执行.\bin\windows\kafka-topics.bat --zookeeper localhost:2181 --create --replication-factor 1 --partitions 1 --topic test,完成后保留窗口。

创建生产者

  • 创建窗口执行.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test,输入消息,每次回车都是一条消息。

创建消费者

  • kafka根目录下执行.\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning,窗口将输出刚在生产者输入的消息。

  • 可在生产者窗口输入内容,消费者窗口将持续输出结果。

kafka版本兼容性

  • 在Kafka 0.10.2.0版本前,Kafka是单向兼容的,高版本的Broker能够处理低版本Client发送的请求,低版本的Broker不能处理高版本的Client请求。Kafka 0.10.2.0版本开始,Kafka正式支持双向兼容,低版本的Broker也能处理高版本Client的请求。

总结

  • 学无止境,同一个东西,每次学习都能有新收获,技术不是会用就行,要懂得原理,探究是什么,为什么,如何更好,只有不断精进才能收获跟多的知识,学习不是为了某种结果,而是保持某种状态。

到此,关于"win10如何搭建kafka环境"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

消息 版本 数据 副本 脚本 测试 生产 环境 消费 文件 磁盘 路径 学习 根目录 消费者 生产者 功能 机制 目录 配置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司 互联网电商科技 深圳互联网科技公司 互联网 科技创新 互联网科技公司官网 猫创互联网科技 人人互联网科技是培训 华中科技有哪些互联网大佬 老年人脱离互联网科技的作文 互联网汽车科技小镇 随着互联网科技发展 南山科技园互联网公司有哪些 厦门比较好的科技互联网公司 互联网还是高科技吗 荆州市昕露互联网络科技有限公司 玉溪互联网科技怎么选 河南住房之家互联网科技 无锡工业互联网科技有限公司 互联网大会出现的黑科技 互联网科技自媒体灵感 互联网是不是新科技 天速互联网络科技有限公司 以后互联网后是啥科技 开一家科技互联网公司需要多少钱 链环科技传统企业怎么转型互联网 华夏恒生科技与互联网科技 城市宝互联网科技有限公司 四川互联网展示科技馆设计 互联网领先科技活动 绵阳真晨互联网科技有限公司
0