Kafka issue

Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Kafka issue

Post by Сабина »

Есть топик к Кафке, из него читают консьюмеры, которых 20 в consumerGroup. Каждому выделено 25 тредов:
Kafka.executoer.consumer.threads=25

Мессаджи в Кафке пишутся в 500 partitions, равномерно распределены. 20 consumers х 25 тредов в каждом , чтобы каждый мог работать с single partition.

Консьюмеры делает простую работу, вычитывает месадж, делает http call, парсит response и возможно пишет в другую queue.

Если мониторить lag по партишенам, то он должен быть примерно одинаков если все runs healthy. Неожиданно стали наблюдать картину когда на одной partition lag 10, а на другой 10000 например. Все что точно знаем что некоторые консьюмерные треды зависают на http call и процесс gets stack. Куда дальше смотреть непонятно.

Если у кого есть идеи - подскажите плиз :)
https://www.youtube.com/watch?v=wOwblaKmyVw
Palych
Уже с Приветом
Posts: 13683
Joined: 16 Jan 2001 10:01

Re: Kafka issue

Post by Palych »

HTTP call вызывает кафку?
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Kafka issue

Post by Сабина »

Palych wrote:HTTP call вызывает кафку?
Executor thread вычитывает месадж из Кафки, делает HTTP call , потом кладёт новый месадж в Кафку. То есть если http call занимает forever, мессаджи начинают копится в партиции.


Если мониторить Кафку то выглядит примерно так как внизу. Executor 1 healthy потому что все партиции процесятся примерно с одинаковой скоростью.
У executor 2 некоторые треды зависли в http call и выборочные партиции имеют резко бОльший lag по сравнению с другими патрициями для того же экзекьютора.

Поскольку на http calls нету таймаут, эта ситуация часто приводит в взбрыкивание Кафки после чего помогает только рестарт экзекьюторов и Кафка снова расчищается, балансируется

Partition /. Lag. /. Executor for partition

Partition 1. /. 103. /. 1
Partition 2. /. 97. /. 1
Partition 3. /. 104. / 1
Partition 4. /. 89. /. 1
.........

Partition 111 /. 5256. /. 2
Partition 112 /. 65. /. 2
Partition 113 /. 1043. /. 2
Partition 114 /. 11. /. 2
.........
https://www.youtube.com/watch?v=wOwblaKmyVw
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Kafka issue

Post by Мальчик-Одуванчик »

"Ко мне подходит человек в черных очках, при бороде. Спрашивает: «Вы от Боттичелли?»
Отвечаю: «Боттичелли любит Кафку».
Palych
Уже с Приветом
Posts: 13683
Joined: 16 Jan 2001 10:01

Re: Kafka issue

Post by Palych »

Сабина wrote:
Palych wrote:HTTP call вызывает кафку?
Executor thread вычитывает месадж из Кафки, делает HTTP call , потом кладёт новый месадж в Кафку. То есть если http call занимает forever, мессаджи начинают копится в партиции.
.........
Я кафку не знаю, но что с этим в принципе можно сделать?
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Kafka issue

Post by Сабина »

Palych wrote:
Сабина wrote:
Palych wrote:HTTP call вызывает кафку?
Executor thread вычитывает месадж из Кафки, делает HTTP call , потом кладёт новый месадж в Кафку. То есть если http call занимает forever, мессаджи начинают копится в партиции.
.........
Я кафку не знаю, но что с этим в принципе можно сделать?
Timeout поставить как минимум :). Наверное прогнать мониторинг какой нибудь в момент кризиса, сетевые команды, я не знаю :)
Знала бы не спрашивала
https://www.youtube.com/watch?v=wOwblaKmyVw
Palych
Уже с Приветом
Posts: 13683
Joined: 16 Jan 2001 10:01

Re: Kafka issue

Post by Palych »

А HTTP calls действительно forever застревают, или дольше чем хотелось бы?
Есть доступ к серверной части?
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Kafka issue

Post by oshibka_residenta »

Заплатить за support ?
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Kafka issue

Post by Сабина »

oshibka_residenta wrote:Заплатить за support ?
Вам или самим себе :)?
https://www.youtube.com/watch?v=wOwblaKmyVw
oshibka_residenta
Уже с Приветом
Posts: 4435
Joined: 13 Feb 2002 10:01
Location: Bay Area

Re: Kafka issue

Post by oshibka_residenta »

Имел в виду Confluent
Мне пока рано - я официально специалист по этому делу с понедельника, так что пока еще ничего не знаю.:) Впрочем,оплату принимаю в любое время.
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Kafka issue

Post by Сабина »

Починили в итоге, но с какими приключениями ! Причём чинили одно, а по ходу и это прояснилось.
Началось все с того что Фейсбук нас вызвал к себе в headquarters "поговорить за жизнь". Сначала все было на высокой ноте "Вы одни из наших важных customers", а кончилось за упокой, что мы как никто другие абьюзим ихние insights сервера и они нам выставили жестокий throttling. Ну что, куда крестьянину деваться? За двое суток на пару с нашим архитектором разобрались что к чему и немного кода переписали - теперь все довольные, и мы и Фейсбук. Основная мысль что надо было http calls больше space in time
https://www.youtube.com/watch?v=wOwblaKmyVw
Сабина
Уже с Приветом
Posts: 19041
Joined: 11 Jan 2012 09:25
Location: CA

Re: Kafka issue

Post by Сабина »

Нет это чудо не успокаивается! Вроде и критические ошибки починили и работает она лучше и сама система выглядит на порядки здоровее ( io wait исчез как класс)... Так теперь "current offset for partition out of range". Как я поняла это скорее warning , но могут теряется мессаджи. Люди советуют лечить подкруткой параметров , но все равно непонятно какой в итоге impact?

Не зря её один девелопер в комментах "Кафакой" обозвал :)! Так и написал : and now sending message to kafaka
https://www.youtube.com/watch?v=wOwblaKmyVw

Return to “Вопросы и новости IT”