Кафка: постоянно получает FETCH_SESSION_ID_NOT_FOUND

9

Я постоянно получаю FETCH_SESSION_ID_NOT_FOUND. Я не уверен, почему это происходит. Может кто-нибудь порадовать меня здесь, в чем проблема и как это отразится на потребителях и брокерах.

Журнал Сервера Кафки:

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.

Kafka Consumer Log:

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.

Детали кластера:

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) 
Хришикеш Мишра
источник
Я получаю ту же ошибку с клиентом Kafka Java версии 2.3.1. У кого-нибудь есть идеи?
Берт С.
@ BertS.increase это значениеmax.incremental.fetch.session.cache.slots
Hrishikesh Мишра
Привет @HrishikeshMishra (это выше комментарий) решение, которое вы нашли для этой проблемы? Не могли бы вы добавить его в ответ на ваш пост и, если возможно, с небольшим объяснением? У меня та же проблема, я проверю ваше решение выше.
Хорхе Кампос
Это журнал INFO. Каковы последствия просто игнорировать это?
Берт С.

Ответы:

1

Увеличьте значение max.incremental.fetch.session.cache.slots. Значение по умолчанию - 1 КБ, в моем случае я увеличил его до 10 КБ, и оно исправлено.

Хришикеш Мишра
источник
Это настройка для брокера?
Берт С.
Да, его настройки брокера
Hrishikesh Mishra
Есть ли что-то, что можно сделать на стороне потребителя или производителя?
Берт С.
Ничего не требуется на стороне производителя и потребителя.
Гришикеш Мишра
Я вижу ошибку на моем потребителе. У меня нет доступа для изменения самого брокера. Должно ли это быть проблемой для меня?
Берт С.
0

Сначала я увеличил его с 1К до 2К, а на втором шаге с 2К до 4К, и до тех пор, пока предел не был исчерпан, ошибки не возникало:

введите описание изображения здесь

введите описание изображения здесь

Поскольку это показалось мне утечкой сеанса неким неизвестным потребителем, я еще не пробовал ограничение в 10 КБ, но, прочитав ответ Хришикеша Мишры, я определенно это сделаю. Поскольку увеличение лимита также уменьшало частоту ошибок, поэтому вопрос об идентификации отдельных групп потребителей, которые открывают чрезмерное количество сеансов инкрементной выборки, упоминается здесь. Как проверить фактическое количество слотов кэша сессии инкрементной выборки, используемых в кластере Kafka? , может быть неуместным в конце.

hdjur_jcv
источник