新的Kafka版本(0.11)支持exactly-once语义。https://cwiki.apache.org/confluence/display/KAFKA/KIP-98+-+Exactly+Once+Delivery+and+Transactional+Messaging我在Java中使用kafka事务代码设置了一个生产者,就像这样。producer.initTransactions();try{producer.beginTransaction();for(ProducerRecordrecord:payload){producer.send(record);}Mapgrou
我正在构建一个kafka管理器工具,我需要检查哪个主题分区分配给了消费者组中的哪个消费者。假设有消费者组group-A消费主题topic-A,n个分区,那么在group-A托管在不同的VM中。那么如何找到哪个分区分配给哪个消费者主机呢?在kafka0.9.1中可以吗?提前致谢。 最佳答案 您可以检查$KAFKA_HOME/bin/kafka-consumer-groups.sh的工作原理并将其实现集成到您的kafka管理器工具中,该工具将向您展示详细信息组所有者信息(例如,分区分配、滞后、IP)。小组主题分区CURRENT-OFFS
我使用Spark2.1。我正在尝试使用SparkStructuredStreaming从Kafka读取记录,反序列化它们并在之后应用聚合。我有以下代码:SparkSessionspark=SparkSession.builder().appName("Statistics").getOrCreate();Datasetdf=spark.readStream().format("kafka").option("kafka.bootstrap.servers",kafkaUri).option("subscribe","Statistics").option("startingOffset
我想使用KafkaConnect将来自Kafka的数据存储到存储桶s3中。我已经运行了一个Kafka的主题,并且创建了一个存储桶s3。我的主题有关于Protobuffer的数据,我尝试使用https://github.com/qubole/streamx我得到了下一个错误:[2018-10-0413:35:46,512]INFORevokingpreviouslyassignedpartitions[]forgroupconnect-s3-sink(org.apache.kafka.clients.consumer.internals.ConsumerCoordinator:280)[
我正在尝试使用以下方法在kafka0.8.2中创建一个主题:AdminUtils.createTopic(zkClient,myTopic,2,1,properties);如果我在本地多次运行代码进行测试,则会失败,因为主题已经创建。有没有办法在创建主题之前检查主题是否存在?TopicCommandapi似乎没有为listTopics或describeTopic返回任何内容. 最佳答案 您可以使用kakfa-client版本0.11.0.0的AdminClient示例代码:Propertiesconfig=newProperties
在一个高容量的实时javaweb应用程序中,我正在向apachekafka发送消息.目前我正在向单个主题发送消息,但将来我可能需要向多个主题发送消息。在这种情况下,我不确定是否应该为每个主题创建一个制作人,还是应该为我的所有主题使用一个制作人?这是我的代码:props=newProperties();props.put("zk.connect",:,:,:);props.put("zk.connectiontimeout.ms","1000000");props.put("producer.type","async");Producerproducer=newkafka.javaapi
我正在我的开发Windows机器上编写KafkaStreams应用程序。如果我尝试使用KafkaStreams的leftJoin和branch功能,在执行jar应用程序时会出现以下错误:Exceptioninthread"StreamThread-1"java.lang.UnsatisfiedLinkError:C:\Users\user\AppData\Local\Temp\librocksdbjni325337723194862275.dll:Can'tfinddependentlibrariesatjava.lang.ClassLoader$NativeLibrary.load(
启动KafkaConnect(connect-standalone)后,我的任务在启动后立即失败:java.lang.OutOfMemoryError:Javaheapspaceatjava.nio.HeapByteBuffer.(HeapByteBuffer.java:57)atjava.nio.ByteBuffer.allocate(ByteBuffer.java:335)atorg.apache.kafka.common.network.NetworkReceive.readFromReadableChannel(NetworkReceive.java:93)atorg.apac
我正在使用几个Kafka连接器,我在控制台输出中没有看到它们的创建/部署有任何错误,但是我没有得到我正在寻找的结果(没有任何结果),期望或其他)。我根据Kafka的示例FileStream连接器制作了这些连接器,因此我的调试技术基于示例中使用的SLF4J记录器的使用。我搜索了我认为会在控制台输出中生成的日志消息,但无济于事。我是不是在错误的地方寻找这些消息?或者是否有更好的方法来调试这些连接器?我在实现中引用的SLF4J记录器的示例用法:KafkaFileStreamSinkTaskKafkaFileStreamSourceTask 最佳答案
我有一个带有2个代理的不安全的kafka实例,在我决定为主题配置ACL之前,一切都运行良好,在ACL配置之后,我的消费者停止从Kafka轮询数据,并且我不断收到警告Errorwhilefetchingmetadatawithcorrelationid,我的代理属性如下所示:-listeners=PLAINTEXT://localhost:9092advertised.listeners=PLAINTEXT://localhost:9092authorizer.class.name=kafka.security.auth.SimpleAclAuthorizerallow.everyone