当前位置: 首页 > news >正文

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

官网下载链接: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=1listeners=PLAINTEXT://:8083log.dir= E:/tool/kafka/kafka2.12/kafkaLogs1config/server2.properties:broker.id=2listeners=PLAINTEXT://:8085log.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

相关文章:

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

官网下载链接&#xff1a;https://kafka.[apache].org/downloads 我下载的是[Scala]2.12 - kafka_2.12-3.1.0.tgz kafka只需要解压下载的压缩包就行了&#xff0c;我这里解压的路径是D:\kafka_2.12-3.1.0&#xff0c;kafka的运行需要依赖zookeeper&#xff0c;当前版本已经内置…...

sql server查看当前正在执行的sql

#统计某类sql执行次数&#xff0c;并按总体cpu消耗时间降序排序 with a as ( select er.session_id,db_name(er.database_id) as DBNAME,sy.last_batch AS 最后执行时间, er.cpu_time ,er.total_elapsed_time/1000 as sum_elapsed_time_s, CAST(csql.text AS varchar(8000)) A…...

STM32设计学生宿舍监测控制系统-分享

目录 前言 一、本设计主要实现哪些很“开门”功能&#xff1f; 二、电路设计原理图 电路图采用Altium Designer进行设计&#xff1a; 三、实物设计图 四、程序源代码设计 五、获取资料内容 前言 本项目旨在利用STM32单片机为核心&#xff0c;结合传感器技术、无线通信技…...

HAproxy 详解

一、基本概念 1.1 什么是 HAproxy&#xff1f; HAproxy&#xff08;High Availability Proxy&#xff09;是一个开源的高性能负载均衡器和反向代理服务器&#xff0c;它主要用于在网络上分发流量&#xff0c;以提高网站或应用程序的可用性和性能。HAproxy 可以处理大量的并发…...

间接采购管理:主要挑战与实战策略

间接采购支出会悄然消耗掉企业的现金流&#xff0c;即使是管理完善的公司也难以避免。这是因为间接支出不直接关联特定客户、产品或项目&#xff0c;使采购人员难以跟踪。但正确管理间接支出能为企业带来显著收益——前提是要有合适的工具。本文将分享管理间接支出的关键信息与…...

2411rust,正与整128

原文 长期以来,Rust在x86-32和x86-64架构上128位整数的对齐与C语言不一致.最近已解决此问题,但该修复带来了一些值得注意的效果. 作为用户,除非如下,否则不用担心: 1,假设i128/u128对齐,而不是用align_of 2,忽略improper_ctypes*检查,并在FFI中使用这些类. 除x86-32和x86-64…...

将 HTML 转换为 JSX:JSX 和 JSX 规则

JSX 是 JavaScript 的语法扩展。您可以在 JavaScript 文件中编写 HTML 格式。 它基于 Web、Html、Css 和 JavaScript。Web 开发人员将页面内容分别编写为 Html 文件&#xff0c;将设计编写为 Css 文件&#xff0c;将逻辑编写为 JavaScript 文件。 须知 &#xff1a; JSX 是一个…...

将 FastAPI 部署到生产服务器(一套 全)

将 FastAPI 部署到生产服务器&#xff08;全&#xff09; 文章目录 将 FastAPI 部署到生产服务器&#xff08;全&#xff09;一、前言二、Fastapi项目 生产环境配置1. 准备环境2. 编写 FastAPI 应用3. 使用 Uvicorn 运行应用4. 配置生产级服务器 Gunicorn4.1 配置 Gunicorn 和 …...

题解 洛谷 Luogu P1873 [COCI 2011/2012 #5] EKO / 砍树 二分答案 C/C++

题目传送门&#xff1a; P1873 [COCI 2011/2012 #5] EKO / 砍树 - 洛谷 | 计算机科学教育新生态https://www.luogu.com.cn/problem/P1873思路&#xff1a; 很简单的二分答案 每次找区间中点 m&#xff0c;判断以 m 为高度砍下的木头是否够 h 即可 代码&#xff1a; #defin…...

SpringCloud SaToken整合微服务 集成Redis 网关路由权限拦截 服务间内部调用鉴权

介绍 作为 API 网关&#xff0c;通常负责路由、负载均衡、安全控制等功能。进行 统一鉴权 的做法意味着将所有微服务的认证和授权逻辑集中到网关层&#xff0c;而不是每个微服务单独实现。这样做有许多好处&#xff0c;微服务只关心核心业务逻辑&#xff0c;不需要处理身份验证…...

Oracle ADB 导入 BANK_GRAPH 的学习数据

Oracle ADB 导入 BANK_GRAPH 的学习数据 1. 下载数据2. 导入数据运行 setconstraints.sql 1. 下载数据 访问 https://github.com/oracle-quickstart/oci-arch-graph/tree/main/terraform/scripts&#xff0c;下载&#xff0c; bank_accounts.csvbank_txns.csvsetconstraints.…...

优化 MFC CGridCtrl 的表格布局与功能

在使用 MFC 的 CGridCtrl 控件创建表格时&#xff0c;遇到的一个典型问题是&#xff0c;当表格滚动条出现时&#xff0c;最后一列会显示空白。这篇博客将记录解决这一问题的详细过程&#xff0c;同时总结了 CGridCtrl 初始化及优化的关键步骤&#xff0c;帮助开发者快速搭建一个…...

koa-body 的详细使用文档

目录 koa-body install Features Hello World - Quickstart Usage with koa-router Usage with unsupported text body type Options 关于 parsedMethods 的说明 文件支持 关于未解析请求主体的说明 一些强大的选择 使用总结 koa-body 功能齐全的 koa body 解析器中…...

信息系统与互联网中的安全、隐私及伦理问题

1 伦理&#xff08;Ethics&#xff09; 1.1 伦理框架&#xff08;Ethical Frameworks&#xff09; 自然法与权利&#xff08;Natural Law and Rights&#xff09; 定义&#xff1a;基于人类自然权利的伦理思想&#xff0c;强调生命、自由和财产等基本权利。应用&#xff1a;隐…...

Java安全—log4j日志FastJson序列化JNDI注入

前言 log4j和fastjson都是这几年比较火的组件&#xff0c;前者是用于日志输出后者则是用于数据转换&#xff0c;今天我们从源码来说一下这两个组件为何会造成漏洞。 实验环境 这里的idea要进行一下配置&#xff0c;因为我们要引用第三方组件&#xff0c;而这些第三方组件都是…...

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【DSP指令加速篇】

【STM32开发笔记】移植AI框架TensorFlow到STM32单片机【DSP指令加速篇】 一、前文回顾二、CMSIS-NN简介2.1 为什么介绍CMSIS-NN&#xff1f;2.2 CMSIS-NN是什么&#xff1f;2.3 CMSIS-NN核心特性2.4 CMSIS-NN算子支持 三、TFLMCMSIS-NN集成3.1 包含TFLM的STM32项目3.2 理解TFLM…...

Python中如何判断一串文本是不是数字

目录 1. 内置函数2. 尝试类型转换3. 正则表达式 在编程中&#xff0c;我们经常需要确定一段文本是否为数字。 这不仅关系到数据的准确性&#xff0c;还涉及到后续的计算和处理。 1. 内置函数 在Python中&#xff0c;可以使用str.isdigit()、str.isnumeric()和str.isdecimal()…...

基于YOLOv8深度学习的智慧农业山羊行为检测系统研究与实现(PyQt5界面+数据集+训练代码)

随着智慧农业的快速发展&#xff0c;利用先进的技术手段对牲畜的行为进行自动化监测和管理&#xff0c;已经成为现代农业中的重要研究方向之一。在传统的农业管理模式中&#xff0c;牲畜的行为监测通常依赖于人工观测&#xff0c;耗时耗力且难以实现大规模实时监控。然而&#…...

Redis环境部署(主从模式、哨兵模式、集群模式)

一、概述 REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统&#xff0c;是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库…...

高阶C语言之六:程序环境和预处理

本文介绍程序的环境&#xff0c;在Linux下对编译链接理解&#xff0c;较为简短&#xff0c;着重在于编译的步骤。 C的环境 在ANSI C&#xff08;标准C语言&#xff09;的任何一种实现中&#xff0c;存在两个不同的环境。 翻译环境&#xff1a;在这个环境中&#xff0c;源代码…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

JVM垃圾回收机制全解析

Java虚拟机&#xff08;JVM&#xff09;中的垃圾收集器&#xff08;Garbage Collector&#xff0c;简称GC&#xff09;是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象&#xff0c;从而释放内存空间&#xff0c;避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...

学校招生小程序源码介绍

基于ThinkPHPFastAdminUniApp开发的学校招生小程序源码&#xff0c;专为学校招生场景量身打造&#xff0c;功能实用且操作便捷。 从技术架构来看&#xff0c;ThinkPHP提供稳定可靠的后台服务&#xff0c;FastAdmin加速开发流程&#xff0c;UniApp则保障小程序在多端有良好的兼…...

什么是库存周转?如何用进销存系统提高库存周转率?

你可能听说过这样一句话&#xff1a; “利润不是赚出来的&#xff0c;是管出来的。” 尤其是在制造业、批发零售、电商这类“货堆成山”的行业&#xff0c;很多企业看着销售不错&#xff0c;账上却没钱、利润也不见了&#xff0c;一翻库存才发现&#xff1a; 一堆卖不动的旧货…...

【ROS】Nav2源码之nav2_behavior_tree-行为树节点列表

1、行为树节点分类 在 Nav2(Navigation2)的行为树框架中,行为树节点插件按照功能分为 Action(动作节点)、Condition(条件节点)、Control(控制节点) 和 Decorator(装饰节点) 四类。 1.1 动作节点 Action 执行具体的机器人操作或任务,直接与硬件、传感器或外部系统…...

关于 WASM:1. WASM 基础原理

一、WASM 简介 1.1 WebAssembly 是什么&#xff1f; WebAssembly&#xff08;WASM&#xff09; 是一种能在现代浏览器中高效运行的二进制指令格式&#xff0c;它不是传统的编程语言&#xff0c;而是一种 低级字节码格式&#xff0c;可由高级语言&#xff08;如 C、C、Rust&am…...

在WSL2的Ubuntu镜像中安装Docker

Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包&#xff1a; for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...