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的博客 296

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

DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程

本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。

dd012的博客 989

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

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

zhangbeizhen18的博客 4664

Gromacs实战:从蛋白质-小分子对接到分子动力学模拟全流程解析

本文详细解析了使用Gromacs进行蛋白质-小分子对接和分子动力学模拟的全流程,包括文件准备、拓扑生成、复合物构建、溶剂化处理、能量最小化及平衡模拟等关键步骤。通过实战案例,帮助研究者验证药物分子与靶标蛋白的结合稳定性,提升分子动力学模拟的效率和准确性。

weixin_29216353的博客 380

SAP SD跨公司销售IDOC自动记账配置实战指南

本文详细介绍了SAP SD模块中跨公司销售IDOC自动记账的配置实战指南。通过IDOC技术实现集团企业间交易的自动化处理,显著提升财务效率和准确性。文章涵盖前置配置、RFC连接、合作伙伴参数设置及财务科目分配等关键步骤,并提供了常见错误排查和性能优化建议,帮助用户快速掌握这一高效业务流程。

weixin_29284885的博客 769

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

【Android14 ShellTransitions】Transition就绪:双Transaction与SurfaceControl显示时机剖析

本文深入剖析了Android14 ShellTransitions框架中Transition就绪阶段的核心机制。重点解释了为何需要“双Transaction”来精确控制SurfaceControl的显示与隐藏时机,以确保Activity切换动画的流畅性。通过分析onTransactionReady流程、窗口绘制状态机及动画目标提升策略,揭示了系统如何协调WMCore与WMShell,实现从状态收集到动画播放的无缝衔接。

ooo22的博客 529

Kafka Java API操作topic

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

伍六七的博客 2071

source tree clone error:fatal remote error: Repository not found

source tree clone error:fatal remote error: Repository not found

Linda的前端开发路 3077

探秘RK3588:OverlayFS挂载与固件升级全攻略

本文围绕RK3588芯片的OverlayFS文件系统挂载与固件升级技术展开详细阐述。首先介绍了RK3588芯片的卓越性能及其在嵌入式领域的广泛应用,重点分析了OverlayFS文件系统的分层架构原理及其在RK3588设备上的挂载方法,包括详细的挂载步骤、常见问题解决方案。随后详细阐述了RK3588设备在Windows和Linux环境下的固件升级方案,涵盖升级准备、具体操作流程及故障处理等内容。最后通过智能安防监控设备的实际案例,展示了OverlayFS挂载与固件升级技术的应用效果。文章为嵌入式开发者提供了全

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 286

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

Multisim14使用教程详尽版--(2025最新版)

摘要:本文详细介绍了Multisim14电路仿真软件的功能和使用方法。主要内容包括:1)主流电路仿真软件比较,突出Multisim在教学、竞赛设计中的优势;2)软件界面说明,涵盖菜单栏、工具栏、元器件库和仪器仪表;3)18类元器件分类详解及其使用操作;4)15种仪器仪表的原理和应用场景;5)电路原理图设计与仿真流程;6)基本电路分析方法(直流静态工作点分析、交流分析等)。文章还提供了硬件工程师笔试面试相关资源链接,涵盖电阻、电容、三极管等器件知识及AD软件操作指南。通过系统讲解,帮助用户掌握Multisim

XU157303764的博客 2万+

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

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

zhangbeizhen18的博客 2331

PyTorch生成式人工智能(3)——使用PyTorch构建神经网络

在本节中,我们使用 PyTorch 在简单数据集上构建了一个神经网络,训练神经网络来映射输入和输出,并通过执行反向传播来更新权重值以最小化损失值,并利用 Sequential 类简化网络构建过程;介绍了获取网络中间值的常用方法,以及如何使用 save、load 方法保存和加载模型,以避免再次训练模型。

盼小辉丶的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

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

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

zhangbeizhen18的博客 3964

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

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

计算机控制技术及应用

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

使用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、付费专栏及课程。

余额充值