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

新版kafka可视化界面组件

二、安装kafka可视化客户端工具(kafka tool 2)

1、下载安装

在官网中找到对应自己电脑系统的版本:
kafka Tool2官网下载地址:

Offset Explorer

这个方案是为Kafka依赖zookeeper提供的可视化解决方案。

前言
在早期使用kafka的时候一般使用Kafka Tool或者kafka eagle,前者为桌面软件,后者为浏览器软件。总体来说体验一般,但是还比较够用。

但是从kafka3.3.1开始,已经正式抛弃zookeeper使用自己的仲裁器了,但是上述两种kafka可视化工具的更新好像并没有跟上,依然需要输入zookeeper的地址才可以连接,所以就变得不能用了。

为了解决这个问题,我找到了一个比较轻量好用的可视化工具kafka-ui。

kafka-ui
docker快速部署
docker run -p 8080 \
    --name kafka-ui \
    -e KAFKA_CLUSTERS_0_NAME=kafka9092 \
    -e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=localhost:9092 \
    -e KAFKA_CLUSTERS_1_NAME=kafka9093 \
    -e KAFKA_CLUSTERS_1_BOOTSTRAPSERVERS=localhost:9093 \
    -e TZ=Asia/Shanghai \
    -e LANG=C.UTF-8 \
    -d provectuslabs/kafka-ui:latest 
上述docker容器启动后可以管理两个kafka集群,注意写法。

添加登录页面
默认kafka-ui是免登录的,为了防止所有人都可以登录产生误操作问题,在docker部署的时候可以添加如下四个环境变量配置用户的登录密码。用户名密码根据自己需求修改倒数两行中的admin。

-e SERVER_SERVLET_CONTEXT_PATH="/" \
-e AUTH_TYPE="LOGIN_FORM" \
-e SPRING_SECURITY_USER_NAME=admin \
-e SPRING_SECURITY_USER_PASSWORD="admin" \
配置好账号密码,删除并重建容器,再输入kafka-ui的地址,会出现如下页面,登录即可。

优点
1.页面非常简洁、清爽,支持夜间模式(v0.7)

首页

topic管理:支持查看topic元信息, 增加、删除topic,清除topic信息,往topic中添加数据等。

2. docker部署,非常方便

3.功能齐全,该有的功能全都有

4.集群连接方便,不管是连接旧版本的kafka还是3.3.1及以后版本的kafka,只需要指定kafka的ip端口即可,不需要指定任何其他内容。

5.官方文档非常详细,需要查看详细说明,可以点击链接跳转。

缺点
1.不支持页面添加集群,官方也解释了,这是一个无状态的服务,所以情有可原。但是因为项目是Springboot写的,docker部署的,如果添加集群可以重建docker容器,或者修改配置文件,重启容器,具体可以查看项目github说明,因为我没有用配置文件,这里没有详细介绍。

连接带认证的kafka集群
连接带认证的kafka集群在kafka-ui的github上面也有,但是文章写的不太全面,我测试了如下两种带认证集群的连接方式。需要可以参考。

连接SASL_PLAINTEXT认证的Kafka
如果集群没有配置SASL_PLAINTEXT认证可以参考我写的这篇文章。

连接SASL_PLAINTEXT认证的kafka需要添加如下三个环境变量,KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG变量指定的用户名密码需要与实际情况一致。

docker run -p 1992:8080 \
    --name kafka-ui \
    -e KAFKA_CLUSTERS_0_NAME=kafka9092 \
    -e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=localhost:9092 \
    -e KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=SASL_PLAINTEXT \
    -e KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM=PLAIN \
    -e KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG='org.apache.kafka.common.security.plain.PlainLoginModule required username="admin" password="admin";' \
    -e TZ=Asia/Shanghai \
    -e LANG=C.UTF-8 \
    -d provectuslabs/kafka-ui:latest
连接SSL认证的kafka
连接SSL认证的kafka需要额外添加如下四个环境变量,其中KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION变量指定的配置文件需要时在配置ssl时候提前生成的,如果需要做SSL认证,和生成证书,可以参考我写的这篇文章。

另外注意KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD变量中指定的密码也是实际的密码。

docker run -p 1993:8080 \
    --name kafka-ui-pwd \
    -e KAFKA_CLUSTERS_0_NAME=kafka8082 \
    -e KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=localhost:8082 \
    -e KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=SSL \
    -e KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_LOCATION=/cert/client.truststore.jks \
    -e KAFKA_CLUSTERS_0_PROPERTIES_SSL_TRUSTSTORE_PASSWORD=admin \
    -e KAFKA_CLUSTERS_0_PROPERTIES_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM='' \
    -e TZ=Asia/Shanghai \
    -e LANG=C.UTF-8 \
    -v /data/users/yulei/ssl_cert:/cert \
    -d provectuslabs/kafka-ui:latest
 

相关文章:

新版kafka可视化界面组件

二、安装kafka可视化客户端工具(kafka tool 2) 1、下载安装 在官网中找到对应自己电脑系统的版本: kafka Tool2官网下载地址: Offset Explorer 这个方案是为Kafka依赖zookeeper提供的可视化解决方案。 前言 在早期使用kafka的…...

​P1102 A-B 数对 【双指针(尺取法)】​

P1102 A-B 数对 【双指针(尺取法)】 题目描述 给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−BC 的数对的个数(不同位置的数字一样的数对算不同的数对)。 输入格式 输入共两行。 第一行,两个…...

Flutter绘制拖尾效果

演示: 代码: import dart:ui;import package:flutter/material.dart; import package:kq_flutter_widgets/widgets/chart/ex/extension.dart;class TrailingView extends StatelessWidget {const TrailingView({super.key});overrideWidget build(Build…...

【Newman+Jenkins】实施接口自动化测试

一、是什么Newman Newman就是纽曼手机这个经典牌子,哈哈,开玩笑啦。。。别当真,简单地说Newman就是命令行版的Postman,查看官网地址。 Newman可以使用Postman导出的collection文件直接在命令行运行,把Postman界面化运…...

kr 第三阶段(六)C++ 逆向

结构体 结构体对齐 设置结构体对齐值 方法1:在 Visual Studio 中可以在 项目属性 -> 配置属性 -> C/C -> 所有选项 -> 结构体成员对齐 中设置结构体对齐大小。方法2:使用 #pragma pack(对齐值) 来设置,不过要想单独设置一个结…...

医药行业安全生产信息化建设分享

随着科技的快速发展和全球化进程的推进,医药行业作为人类健康和安全的重要组成部分,面临着日益严峻的安全生产挑战。近年来,医药企业对于安全生产的需求越来越强烈,安全生产信息化建设成为了医药行业发展的重要趋势。本文将探讨医…...

C 语言简单入门

C 语言发展历史|标准 1972年,丹尼斯里奇(Dennis Ritch)和肯汤普逊(Ken Tompson)在贝尔实验室开发 UNIX 操作系统时基于 B 语言设计出 C 语言。 1987年,布莱恩柯林汉(Brian Kernighan&#xff…...

Levels - UE5中的建模相关

一些日常的笔记; 可以使用Shapes面板建立基础模型: 可以在PolyModel中继续细分模型: UE5中的建模有PolyGroups概念,可以在Attributes面板中直接编辑: 使用GrpPnt方式可以直接用笔刷设定新的PolyGroups,这样…...

数据中心与数据仓库的区别

在数字化时代,数据已经成为企业竞争的核心资源,数据处理和数据管理也变得越来越重要。在数据处理方面,数据中台和数据仓库是两种常见的数据处理方式,它们有着不同的特点和适用场景。本文将从技术角度对数据中台和数据仓库的区别进…...

[2023.09.18]: Rust中类型转换在错误处理中的应用解析

随着项目的进展&#xff0c;关于Rust的故事又翻开了新的一页&#xff0c;今天来到了服务器端的开发场景&#xff0c;发现错误处理中的错误类型转换有必要分享一下。 Rust抽象出来了Result<T,E>&#xff0c;T是返回值的类型&#xff0c;E是错误类型。只要函数的返回值的类…...

前端工作日常

机缘 记录和遇到的问题作为记录 收获 收获代码提高和认知 日常 使用js去操作数组或者对象 空闲时间可以多学学基础算法 比如&#xff08;冒泡&#xff0c;倒序&#xff0c;去重&#xff0c;笛卡尔积算法&#xff0c;各种各样的排序方法等等等&#xff09; 正确良好的使用循环…...

C++:C++哪些时候用到const

声明常量&#xff1a;使用const关键字定义一个常量&#xff0c;不允许对其进行更改。例如&#xff1a; const int PI 3.1415926;修饰函数参数&#xff1a;加上const限定符可以确保函数不会修改传入的参数值。例如&#xff1a; void print(const int num) {// num不能在函数内…...

OpenCV之九宫格图像

将一张图像均等分成九份&#xff0c;然后将这九个小块按一定间隔&#xff08;九宫格效果&#xff09;拷贝到新画布上。效果如下图所示&#xff1a; 源码&#xff1a; #include<iostream> #include<opencv2/opencv.hpp> using namespace std; using namespace cv;i…...

OpenGLES:绘制一个颜色渐变的圆

一.概述 今天使用OpenGLES实现一个圆心是玫红色&#xff0c;向圆周渐变成蓝色的圆。 本篇博文的内容也是后续绘制3D图形的基础。 实现过程中&#xff0c;需要重点关注的点是&#xff1a;如何使用数学公式求得图形的顶点&#xff0c;以及加载颜色值。 废话不多说&#xff0c…...

javascript数据类型错误造成的前端分页不准的问题

有个react项目是自己写的mock后端api&#xff0c;使用的是json文件模拟DB, slice函数模拟分页&#xff0c;但是在实际分页时&#xff0c;发现了分页不准的问题&#xff0c;现象如下&#xff1a; 当pageSize为5的时候&#xff08;共16条数据&#xff09;&#xff0c;总共分4页&…...

[Qt]QListView 重绘实例之二:列表项覆盖的问题处理

0 环境 Windows 11Qt 5.15.2 MinGW x64 1 系列文章 简介&#xff1a;本系列文章&#xff0c;是以纯代码方式实现 Qt 控件的重构&#xff0c;尽量不使用 Qss 方式。 《[Qt]QListView 重绘实例之一&#xff1a;背景重绘》 《[Qt]QListView 重绘实例之二&#xff1a;列表项覆…...

Java 函数式编程思考 —— 授人以渔

引言 最近在使用函数式编程时&#xff0c;突然有了一点心得体会&#xff0c;简单说&#xff0c;用好了函数式编程&#xff0c;可以极大的实现方法调用的解耦&#xff0c;业务逻辑高度内聚&#xff0c;同时减少不必要的分支语句&#xff08;if-else&#xff09;。 一、函数式编…...

操作系统权限提升(二十八)之数据库提权-SQL Server 数据库安装

SQL Server 数据库安装 SQL Server介绍 SQL Server 是Microsoft 公司推出的关系型数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2012 的大型多处理器的服务器等多种平台使用。…...

腾讯mini项目-【指标监控服务重构-会议记录】2023-08-18

2023-08-18 会议纪要 进度 venus 的 metrics 独立分支开发venus 的 trace 修复了一些bug 返回 error 主动调用 span.end() profile 的 watemill pub/sub 和 trace 上报还原原本功能profile 的 hyperscan 的继续调研 待办 调研如何关闭otel&#xff0c;设置开关配置性能benc…...

如何通过axios拦截器,给除了登录请求以外,axios的所有异步请求添加JWT令牌!

在 Vue 项目中配置除了登录请求以外的所有请求的令牌&#xff0c;通常涉及到在请求头中添加令牌&#xff08;Token&#xff09;信息。这可以通过使用 Axios 或其他 HTTP 请求库来实现。以下是一般的步骤&#xff1a; 1. **安装 Axios**&#xff1a; 如果你还没有安装 Axios&a…...

卡证检测矫正模型实操手册:解决‘检测不到’‘矫正失真’‘误检多框’三大问题

卡证检测矫正模型实操手册&#xff1a;解决‘检测不到’‘矫正失真’‘误检多框’三大问题 你是不是也遇到过这样的烦恼&#xff1f;拍了一张身份证照片&#xff0c;想用程序自动识别&#xff0c;结果模型告诉你“没找到”&#xff1b;好不容易检测到了&#xff0c;矫正出来的…...

Bidili Generator企业应用:广告公司客户提案阶段快速生成视觉概念稿

Bidili Generator企业应用&#xff1a;广告公司客户提案阶段快速生成视觉概念稿 1. 引言&#xff1a;提案阶段的视觉痛点与解决方案 在广告公司的日常工作中&#xff0c;客户提案阶段往往是最紧张、最考验创意执行效率的环节。传统的视觉概念稿制作流程通常是这样的&#xff…...

基于条件风险价值CVaR的微网/虚拟电厂多场景随机规划 摘要:构建了含风、光、燃、储的微网/虚...

基于条件风险价值CVaR的微网/虚拟电厂多场景随机规划 摘要&#xff1a;构建了含风、光、燃、储的微网/虚拟电厂优化调度模型&#xff0c;在此基础上&#xff0c;考虑多个风光出力场景&#xff0c;构建了微网随机优化调度模型&#xff0c;并在此基础上&#xff0c;基于条件风险价…...

JavaScript中类的装饰器提案在属性与方法上的应用

JavaScript类装饰器处于TC39 Stage 3提案阶段&#xff0c;未标准化但Babel/TS已实验支持&#xff1b;方法装饰器接收target、propertyKey、descriptor&#xff0c;可增强行为&#xff1b;属性装饰器无统一签名&#xff0c;TS常用Reflect元数据&#xff1b;装饰器静态执行、不可…...

Python 直驱打印机:从字体精调到标签排版,实战避坑指南

1. 为什么选择Python直驱打印机&#xff1f; 很多开发者第一次听说用Python直接控制打印机时都会觉得不可思议——毕竟我们习惯了通过Word、PDF等中间软件来打印文档。但当你需要批量生成标签贴、定制化报表或者自动化打印任务时&#xff0c;传统方式的弊端就暴露无遗&#xff…...

别只盯着代码了!用Multisim仿真带你理解74LS90和555的‘数字心脏’

用Multisim仿真揭秘数字电路&#xff1a;从555脉冲到74LS90计数的实战之旅 当你第一次看到数字电路时&#xff0c;是否觉得那些密密麻麻的芯片引脚和抽象的逻辑符号令人望而生畏&#xff1f;作为一名软件开发者&#xff0c;我曾经也有同样的困惑——直到发现Multisim这个神奇的…...

保姆级教程:用Keil5将你的STM32F103工程无缝迁移到国民技术N32G45X

从STM32F103到N32G45X&#xff1a;嵌入式工程师的国产MCU迁移实战指南 在嵌入式开发领域&#xff0c;芯片选型往往决定着项目的成败。随着国产微控制器的崛起&#xff0c;越来越多的工程师开始考虑将原有基于STM32的项目迁移到国产平台。国民技术的N32G45X系列以其出色的性价比…...

开源模型性价比之选:Gemma-3-12b-it在OpenClaw中的实战表现

开源模型性价比之选&#xff1a;Gemma-3-12b-it在OpenClaw中的实战表现 1. 为什么选择Gemma-3-12b-it作为OpenClaw的推理引擎 上个月在优化个人自动化工作流时&#xff0c;我面临一个关键决策&#xff1a;该为OpenClaw选择什么样的大模型作为"大脑"&#xff1f;经过…...

OpenClaw自动化写作对比:千问3.5-35B-A3B-FP8与纯文本模型的产出差异

OpenClaw自动化写作对比&#xff1a;千问3.5-35B-A3B-FP8与纯文本模型的产出差异 1. 为什么需要对比不同模型的写作表现 上周我在用OpenClaw自动生成技术文档时&#xff0c;发现一个有趣的现象&#xff1a;同样的任务指令&#xff0c;交给不同的大模型处理&#xff0c;产出的…...

新手必看:用Wireshark分析CTF流量包的5个实战技巧(附BUUCTF真题解析)

新手必看&#xff1a;用Wireshark分析CTF流量包的5个实战技巧&#xff08;附BUUCTF真题解析&#xff09; 当你第一次打开一个陌生的pcap文件时&#xff0c;面对密密麻麻的数据包列表&#xff0c;是不是感觉无从下手&#xff1f;作为CTF比赛中最常见的题型之一&#xff0c;流量分…...