Ciągle otrzymuję FETCH_SESSION_ID_NOT_FOUND. Nie jestem pewien, dlaczego tak się dzieje. Czy ktoś może mi się tutaj podobać, na czym polega problem i jaki będzie wpływ na konsumentów i brokerów.
Dziennik serwera Kafka:
INFO [2019-10-18 12:09:00,709] [ReplicaFetcherThread-1-8][] org.apache.kafka.clients.FetchSessionHandler - [ReplicaFetcher replicaId=6, leaderId=8, fetcherId=1] Node 8 was unable to process the fetch request with (sessionId=258818904, epoch=2233): FETCH_SESSION_ID_NOT_FOUND.
INFO [2019-10-18 12:09:01,078] [ReplicaFetcherThread-44-10][] org.apache.kafka.clients.FetchSessionHandler - [ReplicaFetcher replicaId=6, leaderId=10, fetcherId=44] Node 10 was unable to process the fetch request with (sessionId=518415741, epoch=4416): FETCH_SESSION_ID_NOT_FOUND.
INFO [2019-10-18 12:09:01,890] [ReplicaFetcherThread-32-9][] org.apache.kafka.clients.FetchSessionHandler - [ReplicaFetcher replicaId=6, leaderId=9, fetcherId=32] Node 9 was unable to process the fetch request with (sessionId=418200413, epoch=3634): FETCH_SESSION_ID_NOT_FOUND.
Dziennik konsumentów Kafka:
12:29:58,936 INFO [FetchSessionHandler:383] [Consumer clientId=bannerGroupMap#87e2af7cf742#test, groupId=bannerGroupMap#87e2af7cf742#test] Node 8 was unable to process the fetch request with (sessionId=1368981303, epoch=60): FETCH_SESSION_ID_NOT_FOUND.
12:29:58,937 INFO [FetchSessionHandler:383] [Consumer clientId=bannerGroupMap#87e2af7cf742#test, groupId=bannerGroupMap#87e2af7cf742#test] Node 3 was unable to process the fetch request with (sessionId=1521862194, epoch=59): FETCH_SESSION_ID_NOT_FOUND.
12:29:59,939 INFO [FetchSessionHandler:383] [Consumer clientId=zoneGroupMap#87e2af7cf742#test, groupId=zoneGroupMap#87e2af7cf742#test] Node 7 was unable to process the fetch request with (sessionId=868804875, epoch=58): FETCH_SESSION_ID_NOT_FOUND.
12:30:06,952 INFO [FetchSessionHandler:383] [Consumer clientId=creativeMap#87e2af7cf742#test, groupId=creativeMap#87e2af7cf742#test] Node 3 was unable to process the fetch request with (sessionId=1135396084, epoch=58): FETCH_SESSION_ID_NOT_FOUND.
12:30:12,965 INFO [FetchSessionHandler:383] [Consumer clientId=creativeMap#87e2af7cf742#test, groupId=creativeMap#87e2af7cf742#test] Node 6 was unable to process the fetch request with (sessionId=1346340004, epoch=56): FETCH_SESSION_ID_NOT_FOUND.
Szczegóły klastra:
Broker: 13 (1 Broker : 14 cores & 36GB memory)
Kafka cluster version: 2.0.0
Kafka Java client version: 2.0.0
Number topics: ~15.
Number of consumers: 7K (all independent and manually assigned all partitions of a topic to a consumers. One consumer is consuming all partitions from a topic only)
apache-kafka
Hrishikesh Mishra
źródło
źródło
max.incremental.fetch.session.cache.slots
Odpowiedzi:
Zwiększ wartość
max.incremental.fetch.session.cache.slots
. Wartość domyślna to 1K, w moim przypadku zwiększyłem ją do 10K i naprawiłem.źródło
Na początku zwiększyłem go z 1K do 2K, a na drugim etapie z 2K do 4K i dopóki limit nie został wyczerpany, nie pojawił się błąd:
Ponieważ wydawało mi się, że wyciek sesji przez pewnego niezidentyfikowanego konsumenta nie próbowałem jeszcze limitu 10K, ale czytając odpowiedź Hrishikesh Mishry, na pewno to zrobię. Ponieważ zwiększenie limitu również zmniejszyło częstotliwość błędów, więc pytanie o identyfikację poszczególnych grup konsumentów, które otwierają nadmierną liczbę przyrostowych sesji pobierania, wspomniane tutaj Jak sprawdzić rzeczywistą liczbę miejsc na przyrostową pamięć podręczną sesji pobierania używanych w klastrze Kafka? , może w końcu nie mieć znaczenia.
źródło