[英]KStream windowed aggregation - partition problems
我在AWS上有一個簡單的集群設置,其中有一個kafka實例和一個zookeeper。 我正在為此編寫<String, String>
並嘗試在10秒的窗口中聚合這些值。
錯誤消息我正在得到:
DEBUG o.a.kafka.clients.NetworkClient - Sending metadata request {topics=[kafka_test1-write_aggregate-changelog]} to node 100
DEBUG org.apache.kafka.clients.Metadata - Updated cluster metadata version 6 to Cluster(nodes = [12.34.56.78:9092 (id: 100 rack: null)], partitions = [Partition(topic = kafka_test1-write_aggregate-changelog, partition = 1, leader = 100, replicas = [100,], isr = [100,], Partition(topic = kafka_test1-write_aggregate-changelog, partition = 0, leader = 100, replicas = [100,], isr = [100,]])
DEBUG o.a.k.c.consumer.internals.Fetcher - Attempt to fetch offsets for partition kafka_test1-write_aggregate-changelog-0 failed due to obsolete leadership information, retrying.
cluster metadata
#無限期前進。
碼:
KStreamBuilder kStreamBuilder = new KStreamBuilder();
KStream<String, String> lines = kStreamBuilder.stream(TOPIC);
KTable<Windowed<String>, String> dbwriteTable = lines.aggregateByKey(
new DBAggregateInit(),
new DBAggregate(),
TimeWindows.of("write_aggregate", 10000));
dbwriteTable.toStream().print();
KafkaStreams kafkaStreams = new KafkaStreams(kStreamBuilder, streamsConfig);
kafkaStreams.start();
當DBAggregateInit
任何問題時,將其中的DBAggregateInit
和DBAggregate
存根到日志以進行調試。 沒有其他功能。
這些存根函數都不會被命中。
不知道我在這里錯過了哪些步驟。 如果我.foreach()
或對該主題進行簡單的閱讀,似乎工作正常。
當我讓kafka創建主題而不是使用kafka-topic --create --topic ...
時,我也遇到了類似的分區問題。
我認為這種錯誤是由於我以不同的用戶身份運行zookeeper和kafka,並且各個數據文件夾中可能存在權限問題。
一旦兩個服務都以root身份運行並且所有相關數據文件被刪除/重新創建,這些錯誤就消失了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.