kafka

Kafka生产者元数据怎么获取

小亿
127
2023-11-22 22:20:50
栏目: 大数据

要获取Kafka生产者的元数据,可以使用Kafka提供的AdminClient API。以下是一个示例代码:

import java.util.Properties;
import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.ConsumerGroupListing;
import org.apache.kafka.clients.admin.ListConsumerGroupsResult;
import org.apache.kafka.clients.admin.ListTopicsResult;
import org.apache.kafka.clients.admin.TopicListing;

public class KafkaProducerMetadata {
    public static void main(String[] args) {
        Properties props = new Properties();
        props.put("bootstrap.servers", "localhost:9092"); // Kafka集群的地址

        try (AdminClient adminClient = AdminClient.create(props)) {
            // 获取所有主题的元数据
            ListTopicsResult topicsResult = adminClient.listTopics();
            topicsResult.listings().get().forEach(topicListing -> {
                System.out.println("Topic: " + topicListing.name());
            });

            // 获取所有消费者组的元数据
            ListConsumerGroupsResult consumerGroupsResult = adminClient.listConsumerGroups();
            consumerGroupsResult.all().get().forEach(consumerGroupListing -> {
                System.out.println("Consumer Group: " + consumerGroupListing.groupId());
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

上述代码使用AdminClient API创建一个AdminClient实例,并使用该实例来获取所有主题和消费者组的元数据。可以根据需要进行修改和扩展。

0
看了该问题的人还看了