簡體   English   中英

Kafka KSQLDB 服務器日志不斷“發現沒有提交的分區偏移量”

[英]Kafka KSQLDB server logs constantly “found no committed offset for partition”

我在無頭模式下運行 Kafka 和 KSQLDB 服務器。 在 KSQLDB 服務器上,我只部署了幾個查詢來進行試驗:

CREATE STREAM pageviews_original (viewtime bigint, userid varchar, pageid varchar) WITH (kafka_topic='pageviews-ksql', PARTITIONS=1, REPLICAS=3, value_format='DELIMITED');

CREATE TABLE users_original (registertime BIGINT, gender VARCHAR, regionid VARCHAR, userid VARCHAR) WITH (kafka_topic='users-ksql', PARTITIONS=1, REPLICAS=3, value_format='JSON', key = 'userid');

CREATE STREAM pageviews_enriched AS SELECT users_original.userid AS userid, pageid, regionid, gender FROM pageviews_original LEFT JOIN users_original ON pageviews_original.userid = users_original.userid;

我的問題是 KSQLDB 服務器現在不斷記錄此 INFO 消息:
“找不到分區 _confluent-ksql-ksql-01query_CSAS_PAGEVIEWS_ENRICHED_0-Join-repartition-0 的提交偏移量”。

它每秒大約 10 次使用此消息向日志發送垃圾郵件。 對應的主題為空。

這是什么意思,我該如何解決?

當流線程(執行 stream 處理的線程)被分配一個主題分區以開始處理時,日志消息為 output。 在開始處理之前,它首先檢查是否有任何提交的偏移量,以便它可以從前一個線程完成的位置開始處理。

在創建 stream 或表時,此類日志行是正常的,因為之前沒有任何線程處理分區,因此沒有提交偏移量。

如果尚未通過分區處理任何數據,您可能還會在重新啟動服務器時或在消費者組重新平衡期間看到此類日志行(更多內容見下文)。

在之前處理過數據的地方,您可能會看到類似的日志行,但包括最后處理的偏移量的詳細信息。

不正常的是一直看到他們。 這表明出了點問題。

最可能的原因是消費者群體再平衡。

消費者組負責將負載分散到所有可用的 stream 處理線程,跨所有集群的 ksqlDB 服務器。 當從集群中添加或刪除服務器時,組會重新平衡以確保正在處理所有主題分區並且工作均勻分布在所有實例中。 有用於檢測死亡消費者的可配置超時。

可能是您的消費者群體不穩定,這會導致不斷的重新平衡,從而導致這些日志消息。 即使這樣,我也不希望每秒有 10 條日志行,除非有許多活動查詢或大量主題分區。

如果正在進行消費者組重新平衡,那么您應該在日志中看到這一點,但您可能需要調整日志記錄級別才能看到它們。

網上有很多關於不穩定消費者群體的原因和修復的信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM