1、windows 环境安装kafka
1.1 采用docker 安装zookeeper
docker pull zookeeper
docker run --name zookeeper -p 2181:2181 --restart always -d zookeeper
注意: 很多资料说的采用 wurstmeister/zookeeper latest版本在windows docker 版本上进行安装会报错,在run 的时候会提示没有支持windows的版本。
1.2 zookeeper 基本功能验证
- 进入容器内部
docker exec -it zookeeper bash zkCli.sh create /test "helloworld" get /test quit
1.3 安装kafka
注意: 很多资料采用docker 安装kafka, 但是实际上测试,wurstmeister/kafka 等kafka镜像是不支持windows 环境 docker安装的,可以通过 docker hub官网相关镜像的支持情况看出。多次踩坑后决定采用本地安装。
- 下载 kafka tgz安装包
- 详细安装步骤可以参考这个。
- 修改 config 目录下 server.properties 文件中 log.dirs = D:/program/kafka/kafka-logs ,即kafka日志路径
- 执行kakfa启动命名:在bin目录下执行 kafka-server-start.bat .\config\server.properties
- 下载 Offset Explorer 进行测试, 使用方式参考这里
1.4 注意事项
-
重新换了一台PC电脑安装kafka的过程中发现报如下错误
输入行太长。 命令语法不正确。
将按照包放到更浅的目录下, 将 server.properties 文件中 log.dirs 改为更浅的目录即可成功。
-
问题:相隔很久之后 重启kafka 发现报错
kafka.common.InconsistentClusterIdException: The Cluster ID BKQ_oAduRUWoddeUNiDXBA doesn't match stored clusterId Some(zVKxdbqPQeamm05T5dI70g) in meta.properties. The broker is trying to join the wrong cluster. Configured zookeeper.connect may be wrong. at kafka.server.KafkaServer.startup(KafkaServer.scala:234) at kafka.Kafka$.main(Kafka.scala:115) at kafka.Kafka.main(Kafka.scala) [2023-07-09 14:00:18,186] INFO shutting down (kafka.server.KafkaServer)
- 原因分析
kafka配置日志路径,用来保存执行过程中的各种信息,当kafka异常关闭时,日志记录就会出现异常,会把当时的情况记录到meta.properties文件中,重新启动时此文件会对启动造成影响,kafka重启报错的原因就在这里。 - 解决方案
- 清空日志目录【日志不重要或可以容忍日志丢失】。
- 调整日志目录【需要修改配置】。
- 删除日志目录下的meta.properties文件。
- 原因分析