Apache Kafka API AdminClient 目录

本文详细介绍使用Apache Kafka API AdminClient进行Topic管理、账户权限设置等操作的方法,并提供基于不同Kafka版本的Java依赖配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

最近工作上需要使用Java开发一个操作Kafka的Portal,因为使用命令行去操作比较反人类,尤其是需要进行大量的增删操作的时候。所以研究了一下Apache提供的官方JAVA API应用到了Portal上。在实施的过程中,发现这部分网上可用资料也比较稀少,即便找到几篇也十分的不详细,或者版本比较老旧,或者还在用Zookeeper提供的那一套API,更有甚者干脆互相抄,所以就决定写一个系列希望能帮助到大家了解AdminClient的使用。

Kafka API 相关

【Apache Kafka API AdminClient 获取对象】
【Apache Kafka API AdminClient Topic的创建与删除】
【Apache Kafka API AdminClient Topic信息的查询】
【Apache Kafka API AdminClient 修改Topic参数的操作】
【Apache Kafka API AdminClient 修改Topic的Partition】
【Apache Kafka API AdminClient 账号对Topic权限赋予与移除】
【Apache Kafka API AdminClient 查看账户权限】
【Apache Kafka API AdminClient Group ID 创建、删除、查询】
【Apache Kafka API AdminClient Scram账户的创建与删除】注:此文基于Kafka Scala2.13源码写的Java程序,适用于kafka 2.7.0及其以下版本。
【Apache Kafka API AdminClient Scram账户的操作(增删改查)】 注:此文基于kafka 2.8.0 API所写,适用于kafka 2.7.0及其以上版本。该版本API并不是很完善,创建的账户可能会有无法读写Topic的问题。

安装Kafka服务器相关

【Zookeeper + Centos7 详细安装教程】
【Kafka+ Centos7服务器集群详细安装教程】
【Kafka 如何给集群配置Scram账户认证】
【Kafka 如何给集群配置SSL认证】

笔者使用的Porm依赖如下,API官网点击【这里】。为什么要把两个版本都列出来,因为这俩版本用的Scale版本是不一样的,这就又涉及到了一部分权限认证功能的使用,只能说Kafka太变态。

支持kafka版本2.3.x,Scale版本2.12
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.12</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.3.0</version>
</dependency>

支持kafka版本2.5.x,Scale版本2.13
<dependency>
	<groupId>org.apache.kafka</groupId>
	<artifactId>kafka_2.13</artifactId>
	<version>2.5.0</version>
</dependency>
<dependency>
	<groupId>org.apache.kafka</groupId>
	<artifactId>kafka-clients</artifactId>
	<version>2.5.0</version>
</dependency>

支持kafka版本2.7.x,Scale版本2.13
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka_2.13</artifactId>
    <version>2.7.0</version>
</dependency>
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.7.0</version>
</dependency>

其他

更多Java框架源码内容进入
【Spring解读系列目录】
【Zookeeper 源码解读系列目录】

KafkaAdminClientApache Kafka 提供的一个 Java API,用于管理 Kafka 集群。它是 Kafka 的一个重要组件,可以让我们通过编程的方式对 Kafka 集群进行管理,例如创建和删除主题、添加和删除分区、修改配置等。 KafkaAdminClient 提供了一些常用的管理操作方法,可以通过它来管理 Kafka 集群的元数据。我们可以使用 KafkaAdminClient 来通过指定的配置创建一个 KafkaAdminClient 对象,在构建 KafkaAdminClient 对象时,我们需要指定一些和 Kafka 集群连接相关的配置,例如 Kafka 集群的地址、端口等。创建了 KafkaAdminClient 对象之后,我们就可以使用它提供的方法来执行我们所需的管理操作。 KafkaAdminClient 提供了一些主要的方法,例如 createTopics()、deleteTopics()、addPartitions()、deleteRecords() 等。通过这些方法,我们可以进行创建主题、删除主题、修改分区、删除消息等操作。同时,KafkaAdminClient 还提供了一些其他辅助方法,用于获取集群的元数据信息、获取主题的配置等。 KafkaAdminClient 的设计使得管理 Kafka 集群变得十分便捷和灵活,同时也提供了一些保护机制,例如对于一些敏感的操作,需要进行权限校验。此外,KafkaAdminClient 还与 KafkaConsumer 和 KafkaProducer 等其他 Kafka 客户端紧密集成,可以在使用 KafkaAdminClient 的同时,进行消息的消费和生产。 总的来说,KafkaAdminClient 是一个功能强大的管理 Kafka 集群的 Java API,可以让我们通过编程的方式进行细粒度的管理操作,帮助我们更好地管理 Kafka 集群。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值