Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 来自卡夫卡的元数据信息_Apache Kafka_Kafka Producer Api_Confluent Platform_Confluent Schema Registry - Fatal编程技术网

Apache kafka 来自卡夫卡的元数据信息

Apache kafka 来自卡夫卡的元数据信息,apache-kafka,kafka-producer-api,confluent-platform,confluent-schema-registry,Apache Kafka,Kafka Producer Api,Confluent Platform,Confluent Schema Registry,我是Confluent/Kafka的新手,我想从Kafka中查找元数据信息 我想知道 生产者名单 主题列表 主题的架构信息 融合版本是5.0 哪些类(方法)可以提供这些信息? 是否有用于相同的Rest API 要获取此信息,zookeeper连接也是必要的 1)我不认为Kafka代理知道在主题中生成消息的生产者,因此没有用于列出它们的命令行工具。然而,对此的回答是,您可以通过查看JMX上的MBean来列出生产者 2) 要列出需要运行的主题,请执行以下操作: kafka-topics --zoo

我是Confluent/Kafka的新手,我想从Kafka中查找元数据信息

我想知道

  • 生产者名单
  • 主题列表
  • 主题的架构信息
  • 融合版本是5.0

    哪些类(方法)可以提供这些信息?
    是否有用于相同的Rest API
    要获取此信息,zookeeper连接也是必要的

    1)我不认为Kafka代理知道在主题中生成消息的生产者,因此没有用于列出它们的命令行工具。然而,对此的回答是,您可以通过查看JMX上的MBean来列出生产者


    2) 要列出需要运行的主题,请执行以下操作:

    kafka-topics --zookeeper localhost:2181 --list
    
    否则,如果要使用Java客户端列出主题,可以调用
    kafkanconsumer
    的方法

    您还可以通过ZooKeeper获取主题列表

    ZkClient zkClient = new ZkClient("zkHost:zkPort");
    List<String> topics = JavaConversions.asJavaList(ZkUtils.getAllTopics(zkClient));
    
    应给出与以下类似的响应:

    HTTP/1.1 200 OK
    Content-Type: application/vnd.schemaregistry.v1+json
    
    ["subject1", "subject2"]
    
    然后,您可以获取特定主题的所有版本:

    GET /subjects/subject-name/versions HTTP/1.1
    Host: schemaregistry.example.com
    Accept: application/vnd.schemaregistry.v1+json, application/vnd.schemaregistry+json, application/json
    
    最后,您可以获得在此主题下注册的模式的特定版本

    GET /subjects/subject_name/versions/1 HTTP/1.1
    Host: schemaregistry.example.com
    Accept: application/vnd.schemaregistry.v1+json, application/vnd.schemaregistry+json, application/json
    
    或者只是最新注册的架构:

    GET /subjects/subject-name/versions/latest HTTP/1.1
    Host: schemaregistry.example.com
    Accept: application/vnd.schemaregistry.v1+json, application/vnd.schemaregistry+json, application/json
    
    为了在Java中执行此类操作,您可以准备自己的GET请求(请参阅如何执行),也可以使用Confluent的Schema Registry Java客户端。您可以在其文档中看到实现和可用方法


    关于你关于动物园管理员的问题,请注意

    卡夫卡使用ZooKeeper,因此如果需要,您需要首先启动ZooKeeper服务器 你还没有。您可以使用便利脚本 与kafka打包,以获得快速且肮脏的单节点ZooKeeper 例如


    谢谢Giorgos。我想通过java客户端以编程方式了解上述信息。所以,我们也需要同样的API。步骤1:连接到zookeeper步骤2:获取制作者列表步骤3:获取主题步骤4:获取他们的模式实际上应该使用
    AdminClient.listTopics()
    。我认为消费者方法只列出了它订阅的内容to@cricket_007老实说,Java文档不是很清楚
    listTopics():获取关于用户有权查看的所有主题的分区的元数据。此方法将向服务器发出远程调用。
    Hi Giorgos,我可以通过ZkUtils列出所有主题,并使用CachedSchemaRegistrCyclient.getAllSubjects()获取架构信息。有人能告诉我一个主题与getLatestSchemaMetadata(subjectName)有什么关系吗。我想知道给定一个主题名是否能找到它的模式?您好,我可以通过ZkUtils列出所有主题,并使用CachedSchemaRegistryClient.getAllSubjects()获取模式信息。有人能告诉我一个主题与getLatestSchemaMetadata(subjectName)有什么关系吗。我想知道给定的主题名是否找到其模式?
    GET /subjects/subject-name/versions/latest HTTP/1.1
    Host: schemaregistry.example.com
    Accept: application/vnd.schemaregistry.v1+json, application/vnd.schemaregistry+json, application/json