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);
相关推荐
使用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。
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
DataWorks PyODPS第三方包全攻略:从打包到加载的完整流程
本文详细介绍了在DataWorks的PyODPS节点中使用第三方Python包的完整流程,包括环境限制、打包工具pyodps-pack的使用、资源上传与加载实战,以及特殊场景处理技巧。通过本文,开发者可以掌握在MaxCompute受限环境中灵活使用自定义依赖的方法,提升数据处理效率。
使用Kafka客户端(spring-kafka)的Java API操作Kafka的Topic
记录:458 场景:在Spring Boot微服务集成Kafka客户端spring-kafka-2.8.2操作Kafka的Topic的创建和删除。
Gromacs实战:从蛋白质-小分子对接到分子动力学模拟全流程解析
本文详细解析了使用Gromacs进行蛋白质-小分子对接和分子动力学模拟的全流程,包括文件准备、拓扑生成、复合物构建、溶剂化处理、能量最小化及平衡模拟等关键步骤。通过实战案例,帮助研究者验证药物分子与靶标蛋白的结合稳定性,提升分子动力学模拟的效率和准确性。
SAP SD跨公司销售IDOC自动记账配置实战指南
本文详细介绍了SAP SD模块中跨公司销售IDOC自动记账的配置实战指南。通过IDOC技术实现集团企业间交易的自动化处理,显著提升财务效率和准确性。文章涵盖前置配置、RFC连接、合作伙伴参数设置及财务科目分配等关键步骤,并提供了常见错误排查和性能优化建议,帮助用户快速掌握这一高效业务流程。
java api 操作 kafka topic
// 创建 public static void createTopic(TopicBean topicBean, ZkBean zkBean) { String[] options = new String[]{ "--create", "--zookeeper", zkBean.getZkList(), // zk地址 "--partitions", topicBean.ge
【Android14 ShellTransitions】Transition就绪:双Transaction与SurfaceControl显示时机剖析
本文深入剖析了Android14 ShellTransitions框架中Transition就绪阶段的核心机制。重点解释了为何需要“双Transaction”来精确控制SurfaceControl的显示与隐藏时机,以确保Activity切换动画的流畅性。通过分析onTransactionReady流程、窗口绘制状态机及动画目标提升策略,揭示了系统如何协调WMCore与WMShell,实现从状态收集到动画播放的无缝衔接。
Kafka Java API操作topic
Kafka官方提供了两个脚本来管理topic,包括topic的增删改查。其中kafka-topics.sh负责topic的创建与删除;kafka-configs.sh脚本负责topic的修改和查询,但很多用户都更加倾向于使用程序API的方式对topic进行操作。 上一篇文章中提到了如何使用客户端协议(client protocol)来创建topic,本文则使用服务器端的Java API对t
source tree clone error:fatal remote error: Repository not found
source tree clone error:fatal remote error: Repository not found
探秘RK3588:OverlayFS挂载与固件升级全攻略
本文围绕RK3588芯片的OverlayFS文件系统挂载与固件升级技术展开详细阐述。首先介绍了RK3588芯片的卓越性能及其在嵌入式领域的广泛应用,重点分析了OverlayFS文件系统的分层架构原理及其在RK3588设备上的挂载方法,包括详细的挂载步骤、常见问题解决方案。随后详细阐述了RK3588设备在Windows和Linux环境下的固件升级方案,涵盖升级准备、具体操作流程及故障处理等内容。最后通过智能安防监控设备的实际案例,展示了OverlayFS挂载与固件升级技术的应用效果。文章为嵌入式开发者提供了全
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 ./
Multisim14使用教程详尽版--(2025最新版)
摘要:本文详细介绍了Multisim14电路仿真软件的功能和使用方法。主要内容包括:1)主流电路仿真软件比较,突出Multisim在教学、竞赛设计中的优势;2)软件界面说明,涵盖菜单栏、工具栏、元器件库和仪器仪表;3)18类元器件分类详解及其使用操作;4)15种仪器仪表的原理和应用场景;5)电路原理图设计与仿真流程;6)基本电路分析方法(直流静态工作点分析、交流分析等)。文章还提供了硬件工程师笔试面试相关资源链接,涵盖电阻、电容、三极管等器件知识及AD软件操作指南。通过系统讲解,帮助用户掌握Multisim
使用spring-kafka的Java API操作Kafka集群的Topic
记录:462 场景:在Spring Boot微服务集成spring-kafka-2.8.2操作Kafka集群的Topic的创建和删除。
PyTorch生成式人工智能(3)——使用PyTorch构建神经网络
在本节中,我们使用 PyTorch 在简单数据集上构建了一个神经网络,训练神经网络来映射输入和输出,并通过执行反向传播来更新权重值以最小化损失值,并利用 Sequential 类简化网络构建过程;介绍了获取网络中间值的常用方法,以及如何使用 save、load 方法保存和加载模型,以避免再次训练模型。
efm32 入门.pdf
本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。
使用kafka-clients的Java API操作Kafka集群的Topic
记录:464 场景:在Spring Boot微服务集成Kafka客户端kafka-clients-3.0.0操作Kafka集群的Topic的创建和删除。
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进行操作。 上一篇文章中提到了如何使...
计算机控制技术及应用
《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
使用Kafka客户端(kafka-clients)的Java API操作Kafka的Topic
记录:460 场景:在Spring Boot微服务集成Kafka客户端kafka-clients-3.0.0操作Kafka的Topic的创建和删除。
Kafka Topic shell操作+基准测试+java API
Kafka Topic shell javaAPI
使用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....
Kafka创建Topic(API方式)
Kafka官方提供了两个脚本来管理topic,包括topic的增删改查。其中kafka-topics.sh负责topic的创建与删除;kafka-configs.sh脚本负责topic的修改和查询,但很多用户都更加倾向于使用程序API的方式对topic进行操作。 上一篇文章中...
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.
296



被折叠的 条评论
为什么被折叠?



