springboot第82集:消息队列kafka,kafka-map

科技   2024-11-17 09:58   广东  

官网下载链接:https://kafka.[apache].org/downloads

我下载的是[Scala]2.12 - kafka_2.12-3.1.0.tgz

kafka只需要解压下载的压缩包就行了,我这里解压的路径是D:\kafka_2.12-3.1.0,kafka的运行需要依赖zookeeper,当前版本已经内置了zookeeper,所以不需要再安装zookeeper。

kafka配置

kafka 服务端配置在server.properties中。

kafka

  • kafka 服务端配置在server.properties中。
  • kafka配置需要修改两处配置文件:listeners 和 log.dirs
  • listeners=PLAINTEXT://localhost:9092
  • log.dirs=D:/kafka_2.12-3.1.0/logs
  • zookeeper配置
  • zookeeper配置文件为zookeeper.properties,只需修改一处,
  • dataDir:zookeeper存储数据的路径
  • dataDir=D:/kafka_2.12-3.1.0/data
  • 先启动zookeeper,启动命令如下:
  • .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
  • 启动kafka-server
  • .\bin\windows\kafka-server-start.bat .\config\server.properties
  • 如果启动kafka失败,并出现以下异常,删除logs文件夹下的meta.properties文件即可。
  • 启动kafka-topics
  • 创建一个名为test的topic
  • .\bin\windows\kafka-topics.bat --create --bootstrap-server  localhost:2181 --replication-factor 1 --partitions 1 --topic test
  • 启动生产者
  • 命令如下:
  • .\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test
  • 启动消费者
  • 命令如下:
  • .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test

启动Kafka服务

注意:您的本地环境必须[安装Java 8]。

  • 配置Zookeeper环境变量
  • 配置ZOOKEEPER_HOME:
  • 在系统环境变量Path中,增加“%ZOOKEEPER_HOME%\bin”
  • 按: windows+r, 输入cmd, 打开dos窗口,输入命令:
  • zkServer
  • 编辑broker.id=1。 配置broker.id必须是一个整数,且不可以和其他的kafak代理节点的值重复,即每个kafka节点为一个broker,拥有唯一的id值

集群配置:

  • 新生成几个配置文件config/server1.properties、config/server2.properties。

  • 然后修改里面的配置文件broker.id、 log.dir、  listeners分别指定不同的broker、日志文件位置监听端口。

      config/server1.properties:
    broker.id=1
    listeners=PLAINTEXT://:8083
    log.dir= E:/tool/kafka/kafka2.12/kafkaLogs1

    config/server2.properties:
    broker.id=2
    listeners=PLAINTEXT://:8085
    log.dir= E:/tool/kafka/kafka2.12/kafkaLogs2

启动Kafka

    .\bin\windows\kafka-server-start.bat  .\config\server.properties
    

创建主题

    .\bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic yantopic

查看现有的主题

    .\bin\windows\kafka-topics.bat --list --zookeeper localhost:2181

启动生产者,可以发送消息:

打开dos窗口,输入命令:

    .\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

接收消息

窗口不要关闭,同上新打开一个shell窗口,输入命令:

    .\bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
    

如果您的 Nacos 本地启动没有设置账号密码,那么在 Java 客户端连接时也不需要指定账号和密码。您可以直接使用不带认证信息的配置连接到 Nacos 服务。

不过,如果在 Nacos 服务器中开启了身份认证(默认账户为 nacos/nacos),那就需要在 Java 客户端代码中配置用户名和密码。例如,在 NacosConfigProperties 或者客户端配置中添加账号信息。

在不需要账号密码的情况下,Java 客户端连接代码可以保持简单,例如:

Properties properties = new Properties();
properties.put("serverAddr", "localhost:8848"); // 连接到本地的 Nacos
ConfigService configService = NacosFactory.createConfigService(properties);

kafka map是使用Java11React开发的一款kafka可视化工具。

目前支持的功能有:

  • 多集群管理

  • 集群状态监控(分区数量、副本数量、存储大小、offset)

  • 主题创建、删除、扩容(删除需配置delete.topic.enable = true)

  • broker状态监控

  • 消费者组查看、删除

  • 重置offset

  • 消息查询(支持String和json方式展示)

  • 发送消息(支持向指定的topic和partition发送字符串消息)


    • 打开 系统属性 > 高级系统设置 > 环境变量
    • 找到或新建 JAVA_HOME 变量,设置为 JDK 11 的安装路径。
    • 确保系统的 JAVA_HOME 环境变量指向新安装的 Java 11 或更高版本的 JDK 目录。例如,如果你安装了 Java 11,路径可能是 C:\Program Files\Java\jdk-11.

    • 在 Windows 中,你可以通过以下步骤设置环境变量:

  • 更新 PATH 变量

    • %JAVA_HOME%\bin 添加到 PATH 环境变量的开头,以确保命令行和程序优先使用 Java 11 的运行环境。
  • Nacos 配置文件中缺少对应的属性application-prod.yml 或其他共享配置文件中没有定义 sys.datasource.url

  • Nacos 连接不成功:如果 Nacos 连接不成功,Spring Boot 将无法加载远程配置文件。

要在 Windows 上启动 Kafka Manager(即 Kafka Map)并确保使用指定的 JDK 版本(如 JDK 11),你可以通过以下步骤实现。

1. 设置 JDK 11 路径并切换到 Kafka Manager 目录

首先,确保 JDK 11 已安装并记下其安装目录路径(例如:C:\Program Files\Java\jdk-11)。

2. 启动 Kafka Manager 并指定 JDK 版本

  1. 打开命令提示符

  • Win + R,输入 cmd 并回车。
  • 设置 JAVA_HOME: 设置 JAVA_HOME 环境变量以指向 JDK 11 路径。

    •   set JAVA_HOME=C:\Program Files\Java\jdk-11
    • 添加 JDK 11 的 bin 目录到 PATH: 将 JAVA_HOME\bin 添加到当前命令行会话的 PATH 环境变量中,这样你就可以确保使用 JDK 11 启动 Kafka Manager。

      set PATH=%JAVA_HOME%\bin;%PATH%
    • 切换到 Kafka Manager 安装目录: 进入 Kafka Manager 的安装目录,例如 D:\kafka-manager

      cd D:\kafka-manager
    • 启动 Kafka Manager: 运行以下命令来启动 Kafka Manager:

      .\bin\cmak -Dconfig.file=conf/application.conf -Dhttp.port=9000
      • -Dconfig.file=conf/application.conf:指定配置文件路径。
      • -Dhttp.port=9000:指定 HTTP 端口(可以根据需要更改端口)。

    自动安装必备工具。注意,这也将安装Chocolatey。安装完成后,脚本将在一个新窗口中弹出

    在 Windows 中:

    如果你通过安装包安装了 Yarn,但仍然无法使用它,可以检查环境变量是否设置正确。

    1. 打开 系统属性高级系统设置环境变量
    2. 在系统变量中,找到 Path,点击 编辑
    3. 确保 Yarn 安装路径(通常在 C:\Program Files (x86)\Yarn\binC:\Users<YourName>\AppData\Local\Yarn\bin)已经添加到 Path 中。
    4. 保存并关闭所有窗口,重新启动命令提示符。

    1. 原因分析

    日志中的核心错误:

    1. 文件被占用

      java.nio.file.FileSystemException: ... 另一个程序正在使用此文件,进程无法访问。

      表示文件被其他程序占用,Kafka 无法完成操作。

    2. 日志目录失败

      ERROR Shutdown broker because all log dirs in D:\software\kafka\logs have failed

      表示 Kafka 的日志目录不可用,可能由于文件占用、权限问题或磁盘故障。

    启动

    1. 启动cassandra,到下载目录下bin下,cmd,cassandra.bat
    2. 启动nacos,到下载目录下bin下,cmd,startup.cmd -m standalone
    3. D盘,启动elasticsearch的bin目录下,elasticsearch
    4. D盘,启动kibana,bin目录下,kibana.bat
    5. zookeeper,D 盘,kafka目录下
    6. .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties
    7. .\bin\windows\kafka-server-start.bat .\config\server.properties

    加群联系作者vx:xiaoda0423

    仓库地址:https://github.com/webVueBlog/JavaGuideInterview

    算法猫叔
    程序员:进一寸有一寸的欢喜
     最新文章