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
使用java创建主题-卡夫卡版本>;0.10.0.0_Java_Apache Kafka - Fatal编程技术网

使用java创建主题-卡夫卡版本>;0.10.0.0

使用java创建主题-卡夫卡版本>;0.10.0.0,java,apache-kafka,Java,Apache Kafka,我正在尝试编写JavaAPI来创建卡夫卡主题。我有卡夫卡版本0.11.0.0。我在stack overflow中搜索,并以同样的方式尝试。但无论主题是否存在,它总是给我一个例外 Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/kafka/common/errors/TopicExistsException at kafka.admin.AdminUtils.createTopic(AdminUti

我正在尝试编写JavaAPI来创建卡夫卡主题。我有卡夫卡版本0.11.0.0。我在stack overflow中搜索,并以同样的方式尝试。但无论主题是否存在,它总是给我一个例外

 Exception in thread "main" java.lang.NoClassDefFoundError: 
 org/apache/kafka/common/errors/TopicExistsException
 at kafka.admin.AdminUtils.createTopic(AdminUtils.scala)
 at kafkaStream.Processor.CreateTopic.main(CreateTopic.java:65)
 Caused by: java.lang.ClassNotFoundException: 
 org.apache.kafka.common.errors.TopicExistsException
 at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
 at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
我尝试了以下代码:

            String topicName = "t5";
            String zookeeperHosts = "XXXX:2181,XXXX:2181"; 
            int sessionTimeOutInMs = 15 * 1000; 
            int connectionTimeOutInMs = 50 * 1000; 
            Properties topicConfig = new Properties();
            zkClient = new ZkClient("XXXX:2181,XXXX:2181", 
                    sessionTimeOutInMs, 
                    connectionTimeOutInMs, 
                    ZKStringSerializer$.MODULE$); 
            zkUtils = new ZkUtils(zkClient, new 
            ZkConnection(zookeeperHosts), false);
            ZkUtils.apply(
                    "XXXX:2181,XXXX:2181",
                    sessionTimeOutInMs,
                    connectionTimeOutInMs,
                    false);
       //     AdminUtils.createTopic(zkUtils, topicName, numPartitions, 1, 
          topicConfig, RackAwareMode.Enforced$.MODULE$);
            AdminUtils.createTopic(zkUtils, topicName, 2, 1, new 
          Properties(), RackAwareMode.Enforced$.MODULE$);
maven依赖项->

       <dependency>
       <groupId>org.apache.kafka</groupId>
       <artifactId>kafka_2.11</artifactId>
       <version>0.11.0.0</version>
       </dependency>
       <dependency>
       <groupId>org.apache.kafka</groupId>
       <artifactId>kafka-clients</artifactId>
       <version>0.11.0.0</version>
       </dependency>

org.apache.kafka
卡夫卡2.11
0.11.0.0
org.apache.kafka
卡夫卡客户
0.11.0.0

因为您使用的是新的0.11.0版本,我建议您使用新的管理客户端API(以下链接提供一些文档:)


使用Zookeeper执行此类操作将在将来被弃用,因为它会推动新的管理客户端API的使用。

您是否已将依赖API(特定版本的kafka客户端)JAR添加到类路径?是的,我已添加感谢您的建议,我已尝试使用AdminClient。我做不到。你可以分享一些例子吗?你可以在这里找到一个非常简单的例子(你只需要kafka客户端依赖项,请参阅相关的pom.xml):非常感谢@ppatierno,我面临的问题是导入了错误的包。非常感谢调用createTopics方法没有错误,但是在调用之后,它给了我错误java.util.concurrent.ExecutionException:org.apache.kafka.common.errors.TimeoutException:等待节点分配超时。由于它,主题没有被创建