Kafka Topic Java API操作

Kafka-Topic创建源码分析 Kafka-Topic创建源码分析 kafka-topic的创建流程. 阅读详情
 private static AdminClient getAdminClient() {
   Properties admainProp = new Properties();
   admainProp.put("bootstrap.servers", "ip:9092");
   return AdminClient.create(admainProp);
 }
1. 创建主题
  @deprecated
 def create_topic(topicName: String): Unit = {
  try {
   val zkUtils = ZkUtils.apply("192.168.137.131:2181", 30000, 30000, JaasUtils.isZkSecurityEnabled)
   // 虽然过时了但是个人觉得是同步方法
   AdminUtils.createTopic(zkUtils, topicName, 10, 1, new Properties, RackAwareMode.Enforced)
   zkUtils.close()
   println(s"$topicName 创建成功~~~")
  } catch {
   case e: Exception =>
    println(s"$topicName 创建失败~~~")
    e.printStackTrace()
  }
 }
2. 删除主题
 @deprecated
 def delete_topic(topicName: String): Unit = {
  try {
   val zkUtils = ZkUtils.apply("192.168.137.131:2181", 30000, 30000, JaasUtils.isZkSecurityEnabled)
   // 同步方法
   AdminUtils.deleteTopic(zkUtils, topicName)
   zkUtils.close()
   println(s"$topicName 删除成功~~~")
  } catch {
   case e: Exception =>
    println(s"$topicName 删除失败~~~~")
    e.printStackTrace()
  }
 }
3. 获取top信息
 public static  Map<String, TopicDescription> SelectTopicInfo(String topicName) throws Exception {
   DescribeTopicsResult result = getAdminClient().describeTopics(Arrays.asList(topicName));
   KafkaFuture<Map<String, TopicDescription>> all = result.all();
   Map<String, TopicDescription> topicInfo =  all.get();
   // topic描述信息
   for(Map.Entry<String, TopicDescription> entry : topicInfo.entrySet()){
    String mapKey = entry.getKey();
    TopicDescription mapValue = entry.getValue();
    System.out.println(mapKey+":"+mapValue);
    }
   // 分区信息
   List<TopicPartitionInfo> mTopicPartitionInfo = all.get().get(topicName).partitions();
   System.out.println(mTopicPartitionInfo);
   return all.get();
  }
 4. 获取topic消息总数
  public static void getTopicTotalMessageCount(String topicName) throws Exception {
  // 借助Consumer来实现
  Properties props = new Properties();
  props.setProperty("bootstrap.servers", "ip:9092");
  props.setProperty("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
  props.setProperty("value.deserializer", "org.apache.kafka.common.serialization.ByteArrayDeserializer");
  props.setProperty("group.id", "testToal");
  props.setProperty("enable.auto.commit", "true");
  props.setProperty("auto.commit.interval.ms", "1000");
  KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
  consumer.subscribe(Arrays.asList(topicStr));
  Map<String, TopicDescription> topicInfo = GetTopicInfo(topicStr);
  TopicDescription topicDescription = topicInfo.get(topicStr);
  List<TopicPartitionInfo> mTopicPartitionInfo = topicDescription.partitions();

  List<TopicPartition> partitions = new ArrayList<>();
  for (int i = 0; i < mTopicPartitionInfo.size(); ++i) {
  partitions.add(new TopicPartition(topicStr, i));
   }
  Map<TopicPartition, Long> offsets = consumer.endOffsets(partitions);
  Map<TopicPartition, Long> earlyOffsets = consumer.beginningOffsets(partitions);
  int totalCount = 0;
  for (TopicPartition tp : offsets.keySet()) {
  totalCount += (offsets.get(tp) - earlyOffsets.get(tp));
   }
  System.out.println("Total message count: " + totalCount);
  consumer.close();
  }
 5. 判断主题是否存在
 public static boolean topicExists(String topicName) {
  // 注意下面几个参数的值适当大一些,否则可能会出现连接异常
  // sessiontimeout in milliseconds
  // connectionTimeoutMs connection timeout in milliseconds
  // maxInFlightRequests
   KafkaZkClient kafkaClient = KafkaZkClient.apply("192.168.137.131:2181",false,20000,20000,40000,Time.SYSTEM,"","");
   return kafkaClient.topicExists(topicName);

【项目实战】Kafka中Topic创建介绍 Topic可以看作是一个消息队列生产者将消息发送到Topic中,消费者从Topic中消费消息。 阅读详情

相关推荐

使用Apache Kafka API AdminClient在Java中创建Kafka Topic

在本文中,我们将学习如何使用Apache Kafka的Java API中的AdminClient来创建Kafka Topic。本文介绍了如何使用Apache Kafka的Java API中的AdminClient来创建Kafka Topic。然后,我们使用NewTopic类创建一个新的Topic对象,并将其传递给adminClient.createTopics方法来执行创建操作。至此,我们成功地使用Apache Kafka的Java API中的AdminClient创建了一个Kafka Topic。

TechWhiz的博客 297

java创建kafka的topic

kafka 0.10及其以下版本创建topic 这个版本创建topic必须使用zookeeper,一般可以使用如下命令手动创建topic: bin/kafka-topics.sh --create --zookeeper 127.0.0.1:2181 --replication-factor 3 --partitions 3 --topic test 那如何使用代码自动创建topic呢,可以使用AdminZkClient,示例如下: KafkaZkClient zkClient = KafkaZkClie

旋风的技术 7273

深入解析fio Benchmark测试:从源码到实践

本文深入解析fio Benchmark测试工具,从入门指南到源码架构分析,详细介绍了其核心模块、关键数据结构和I/O处理机制。通过实战案例展示如何优化存储性能测试,包括内存对齐、多线程调优等技巧,帮助开发者充分利用fio进行精准的存储性能评估。

weixin_42563415的博客 207

使用Kafka客户端(spring-kafka)的Java API操作Kafka的Topic

记录:458 场景:在Spring Boot微服务集成Kafka客户端spring-kafka-2.8.2操作Kafka的Topic的创建和删除。

zhangbeizhen18的博客 4664

Windows环境Oracle19C安装与配置全攻略

本文详细介绍了在Windows环境下安装与配置Oracle19C数据库的完整流程,包括环境准备、安装步骤、网络配置、客户端工具设置及常见问题解决方案。特别针对Windows 10和Windows Server 2016及以上版本提供了优化建议,帮助用户高效完成Oracle19C的部署与维护。

weixin_28455801的博客 487

手把手教你用Copilot插件在Obsidian里免费接入DeepSeek-R1(附硅基流动API密钥获取)

本文详细介绍了如何通过Copilot插件在Obsidian中免费接入DeepSeek-R1模型,实现智能知识管理。从硅基流动API密钥获取到插件配置,再到高级功能调优和实战应用技巧,手把手教你打造AI驱动的个人知识库。

weixin_33686714的博客 2793

java api 操作 kafka topic

// 创建 public static void createTopic(TopicBean topicBean, ZkBean zkBean) { String[] options = new String[]{ "--create", "--zookeeper", zkBean.getZkList(), // zk地址 "--partitions", topicBean.ge

mhbsoft的博客 566

【CarMaker实战指南】从零构建环形测试场景与车辆连续仿真

本文详细介绍了如何使用CarMaker软件从零构建环形测试场景与实现车辆连续仿真。通过分步指导搭建闭环道路、连接交叉路口、规划车辆轨迹等核心操作,帮助用户掌握CarMaker的基础应用技巧,并提供了常见问题排查与进阶优化建议,适用于车辆耐久性测试和自动驾驶算法验证等场景。

weixin_29274969的博客 234

Kafka Java API操作topic

Kafka官方提供了两个脚本来管理topic,包括topic的增删改查。其中kafka-topics.sh负责topic的创建与删除;kafka-configs.sh脚本负责topic的修改和查询,但很多用户都更加倾向于使用程序API的方式对topic进行操作。   上一篇文章中提到了如何使用客户端协议(client protocol)来创建topic,本文则使用服务器端的Java API对t

伍六七的博客 2071

HFSS实战(三)——过孔via TDR仿真

在上一讲中,主要是通过观察S参数确定via的优化是否达到目标。但S参数只能看到一个整体的结果,并不知道via真实的阻抗是多少?想要单独确定via的阻抗,最好还是通过TDR的仿真。

luohuo9844的博客 1万+

【STK】手把手教你利用STK进行导弹和反导仿真04 - STK/MMT模块03 导弹飞行工具应用案例

飞行设置的工具栏就在附加窗口的中间,首先点击左边的General,修改这个项目的名字。然后在下拉的System中选择导弹的类型,这里我们选择远程。(4)输出数据文件到STK,任务窗口里选择Export Manager项,飞行数据输出到STK。项目可以命名为Test;(1)首先建立新项目,点击Flight菜单中的New Flight选项,见下图。首先看世界地图中间的红圈,是一个导弹形状的图标,这个图标表示的是导弹的发射点。选择下面的Export Manager,依次勾选红框的选项。我们拖动这个导弹的图标,

weixin_44184852的博客 1630

Apache Kafka:使用java和命令行方式操作topic(admin api)

当前版本:kafka_2.12-2.8.0 1. 声明 当前内容主要为本人学习kafka的topic的增删改查操作,当前内容参考官方文档 其中--bootstrap-server表示当前的kafka的地址和端口 --topic指定的就是主题名称 --create,--delete,--alter,--list/--describe表示各种操作 2. 使用命令行的操作 首先启动zookeeper,然后启动当前的kafka(当前kafka启动在192.168.1.105:9092) 1.创建topic ./

编程学习者的博客 579

python发送邮件的时候出现 error (535, b‘5.7.3 Authentication unsuccessful‘) 解决方法

出现该Bug的原因主要是 账号密码无法登录,但原先使用该代码测试qq或者163的时候是可以通过的!问题在于各个公司邮件所处理的代码方式不一样

码农研究僧的博客 3503

使用spring-kafka的Java API操作Kafka集群的Topic

记录:462 场景:在Spring Boot微服务集成spring-kafka-2.8.2操作Kafka集群的Topic的创建和删除。

zhangbeizhen18的博客 2331

基于FPGA的64点fft变换verilog开发

这精度的损失在10bits看来对最后的误差的影响是存在是不可忽略的。此后,在这思想基础上又开发了高基和分裂基等快速算法,随着数字技术的高速发展,1976年出现建立在数论和多项式理论基础上的维诺格勒傅里叶变换算法(WFTA)和素因子傅里叶变换算法。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。采用这种算法能使计算机计算离散傅里叶变换所需要的乘法次数大为减少,特别是被变换的抽样点数N越多,FFT算法计算量的节省就越显著。

FPGA/MATLAB学习教程/源码/项目合作开发 1977

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

使用kafka-clients的Java API操作Kafka集群的Topic

记录:464 场景:在Spring Boot微服务集成Kafka客户端kafka-clients-3.0.0操作Kafka集群的Topic的创建和删除。

zhangbeizhen18的博客 3964

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

kafka topic的相关操作

转:https://www.cnblogs.com/huxi2b/p/6592862.html Kafka官方提供了两个脚本来管理topic,包括topic的增删改查。其中kafka-topics.sh负责topic的创建与删除;kafka-configs.sh脚本负责topic的修改和查询,但很多用户都更加倾向于使用程序API的方式对topic进行操作。 上一篇文章中提到了如何使...

dagecao的博客 429

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

使用Kafka客户端(kafka-clients)的Java API操作Kafka的Topic

记录:460 场景:在Spring Boot微服务集成Kafka客户端kafka-clients-3.0.0操作Kafka的Topic的创建和删除。

zhangbeizhen18的博客 4076

Kafka Topic shell操作+基准测试+java API

Kafka Topic shell javaAPI

niko_csdn的博客 816

使用Java API进行kafka topic开发

package org.sunny.two; import kafka.admin.AdminClient; import kafka.admin.AdminUtils; import kafka.admin.TopicCommand; import kafka.server.ConfigType; import kafka.utils.ZkUtils; import org.apache....

meng984611383的博客 1万+

Kafka创建Topic(API方式)

Kafka官方提供了两个脚本来管理topic,包括topic的增删改查。其中kafka-topics.sh负责topic的创建与删除;kafka-configs.sh脚本负责topic的修改和查询,但很多用户都更加倾向于使用程序API的方式对topic进行操作。 上一篇文章中...

chouzhunle5574的博客 1794

KafKa集群的命令行操作以及JavaAPI

kafka集群操作-控制台操作 创建一个Topic 创建了一个名字为test的主题, 有三个分区,有两个副本 node01执行以下命令来创建topic cd /export/servers/kafka_2.11-0.10.0.0 bin/kafka-topics.sh --create --partitions 3 --replication-factor 2 --topic test --zookeeper node01:2181,node02:2181,node03:2181 查看T.

散步的博客 355
上一篇: Producer常用参数整理
下一篇: Kafka Eagle监控组件
江湖峰哥
博客等级 码龄11年 5粉丝 46原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值