Win10下安装

这次是用的Win10进行的安装,因为线上的Kafka不方便排查问题,故在本地也安装了一套,用于本地开发测试使用

安装包

一般开源成熟的组件都会有自己的官网,里面有非常详细的文档以及工下载安装包的地址信息

  1. 访问Kafka官网https://kafka.apache.org/;
    在这里插入图片描述

  2. 点击右上角进行下载;
    在这里插入图片描述

4.下载完成直接解压安装
在这里插入图片描述

修改zookeeper配置项

进入kafka_2.12-3.2.3\config下
找到zookeeper.properties进行编辑
(路径根据自定义 此处用于存储数据信息)

dataDir=D:\softwork\kafka_2.12-3.2.3\zookeeper-data

修改kafka配置项

同上进入config
找到server.properties进行编辑
(路径根据自定义)

log.dirs=D:\softwork\kafka_2.12-3.2.3\server-data

启动Zookeeper

CD D:\softwork\kafka_2.12-3.2.3\bin\windows
zookeeper-server-start.bat ..\..\config\zookeeper.properties

bat一键启动脚本(可以新建个文本把内容复制进去)

@echo off
title Zookeeper-start
CD D:\softwork\kafka_2.12-3.2.3\bin\windows
zookeeper-server-start.bat ..\..\config\zookeeper.properties
pause

正常启动(窗口端口等信息正常输出 )

在这里插入图片描述

启动Kafka

CD D:\softwork\kafka_2.12-3.2.3\bin\windows
kafka-server-start.bat ..\..\config\server.properties

bat一键启动脚本(可以新建个文本把内容复制进去)

@echo off
title Kafka-start
CD D:\softwork\kafka_2.12-3.2.3\bin\windows
kafka-server-start.bat ..\..\config\server.properties
pause

正常启动

在这里插入图片描述

Kafka小坑

需要注意的是 在config下kafka的配置里
一定要把这一行给放开
(ps:默认是9092 我这边为了特意改的9093,如果是用9092的下面步骤记得改下端口)

listeners=PLAINTEXT://127.0.0.1:9093      

创建主题

因为Kafka存在版本兼容的问题,所有会导致一些命令启动或创建会报错
像我这版2.12的部署就遇到了版本问题

若命令不对 很可能出现此类型的异常
在这里插入图片描述

新版本

kafka-topics.bat --create --bootstrap-server localhost:9093 --replication-factor 1 --partitions 1 --topic haode

旧版本

kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic haode

创建成功后会有以下内容输出

Created topic haode.

查看主题列表

kafka-topics.bat --list --bootstrap-server localhost:9093

开启生产者

单独开启一个窗口

kafka-console-producer.bat --broker-list localhost:9093 --topic test

开启消费者

单独开启一个窗口

kafka-console-consumer.bat --bootstrap-server localhost:9093 --topic lwl from-beginning

这样两边都可以互相收发消息

在这里插入图片描述

常见问题排坑方法

1.Zookeeper可以正常启动 Kafka启动闪退

[2022-09-27 14:47:05,896] ERROR Error while creating ephemeral at /brokers/ids/0, node already exists and owner '72092582897451008' does not match current session '72092582897451010' (kafka.zk.KafkaZkClient$CheckedEphemeral)
[2022-09-27 14:47:05,907] ERROR [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
org.apache.zookeeper.KeeperException$NodeExistsException: KeeperErrorCode = NodeExists
	at org.apache.zookeeper.KeeperException.create(KeeperException.java:126)
	at kafka.zk.KafkaZkClient$CheckedEphemeral.getAfterNodeExists(KafkaZkClient.scala:1903)
	at kafka.zk.KafkaZkClient$CheckedEphemeral.create(KafkaZkClient.scala:1841)
	at kafka.zk.KafkaZkClient.checkedEphemeralCreate(KafkaZkClient.scala:1808)
	at kafka.zk.KafkaZkClient.registerBroker(KafkaZkClient.scala:96)
	at kafka.server.KafkaServer.startup(KafkaServer.scala:332)
	at kafka.Kafka$.main(Kafka.scala:109)
	at kafka.Kafka.main(Kafka.scala)

解决方法:删除两个缓存文件
在这里插入图片描述

2.zookeeper is not a recognized option

解决方案
修改zookeeper和kafka的内存大小

kafka-server-start.bat

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx512M -Xms512"
fi

zookeeper-server-start.bat

IF ["%KAFKA_HEAP_OPTS%"] EQU [""] (
    set KAFKA_HEAP_OPTS=-Xmx512M -Xms512M
)
Logo

Kafka开源项目指南提供详尽教程,助开发者掌握其架构、配置和使用,实现高效数据流管理和实时处理。它高性能、可扩展,适合日志收集和实时数据处理,通过持久化保障数据安全,是企业大数据生态系统的核心。

更多推荐