温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

win10如何搭建kafka环境

发布时间:2021-07-12 16:50:09 来源:亿速云 阅读:268 作者:chen 栏目:大数据

这篇文章主要介绍“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(日志的存储文件夹) win10如何搭建kafka环境

  • 修改配置:进入到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 ,启动后,不要关闭页面。 win10如何搭建kafka环境

win10如何搭建kafka环境

启动kafka

  • kafka根目录执行.\bin\windows\kafka-server-start.bat .\config\server.properties,启动后不要关闭。 win10如何搭建kafka环境

win10如何搭建kafka环境

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,完成后保留窗口。 win10如何搭建kafka环境

创建生产者

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

创建消费者

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

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

kafka版本兼容性

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

总结

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

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI