【kafka-ui】支持kafka with kraft的可视化集群管理工具

本文在kafka3.3.1版本基础上进行测试

前言

在早期使用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 

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
要在kafka中配置kafka-eagle以使用kraft协议,您需要进行以下步骤: 1. 首先,确保您已经安装并准备好了Kafka环境。关闭Kafka集群,您可以使用命令`kf.sh stop`。 2. 在`/opt/module/kafka/bin/kafka-server-start.sh`文件中修改配置。您可以使用命令`vim bin/kafka-server-start.sh`进行编辑。根据引用,您需要在启动Kafka之前分发到其他节点。 3. 确保您已经安装了MySQL作为kafka-eagle的持久化手段。这是监控工具所需的。可以参考引用中的说明来完成这一步骤。 4. 下一步是安装kafka-eagle。kafka-eagle是一个开源的可视化和管理软件,可以用于监控多个Kafka集群、监控 Topic 的消费情况,并提供了Kafka Manager的相关功能。您可以参考引用中的说明来了解更多关于kafka-eagle的信息。 5. 配置kafka-eagle以使用kraft协议。在kafka-eagle的配置文件中,您需要指定kafka集群的地址和端口,并设置适当的协议参数以兼容kraft协议。具体的配置步骤可以参考kafka-eagle的官方文档或者引用中的说明。 请注意,配置kafka-eagle可能会有一些特定的步骤和参数,具体取决于您的环境和需求。因此,建议您参考官方文档和引用中的说明来获得更详细和准确的配置信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Day547.Kafka-Eagle监控&Kraft模式](https://blog.csdn.net/qq_43284469/article/details/123194372)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [kafka-eagle-web-2.0.2-bin.tar.gz](https://download.csdn.net/download/as4589sd/12897706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值