千家信息网

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