K SQL сервер не может нормально работать после перезапуска с большим количеством зарегистрированных потоков - PullRequest
1 голос
/ 07 мая 2020

Я запускаю сервер K SQL в интерактивном режиме, чтобы иметь возможность создавать потоки на лету (в соответствии с потребностями бизнеса), когда я достигал около 400 потоков, работающих одновременно, сервер K SQL, когда он запускался в первый раз и создал 400 потоков, все было в порядке, и они обрабатывались нормально, после первого перезапуска (например, нового развертывания) он застрял с печатью следующих строк журналов навсегда и никогда не переходил в стабильную работу состояние.

K SQL работает на K8S, я использую версию 5.3.3, с 3 процессорами и 16 ГБ памяти и размером кучи 15 ГБ, и каждый поток имеет один поток и обрабатывает выделенную вершину c с 2 разделами.

Любая идея, что могло произойти во время перезапуска развертывания, которое привело бы к зависанию, зная, что при первом запуске после создания потока 400 память и ЦП не были перегружены.

Также под панелью управления grafana для ЦП и памяти, когда он попадает в это странное состояние (ЦП и память кажутся r elaxed).

enter image description here

[2020-05-07 09:25:05,183] INFO stream-thread [_confluent-ksql-service-defaultquery_CSAS_FILTERED_DOCUMENTS_4E78D0B1_447F_4C21_90F1_42FC48E78F86_SELECT_539-1b778679-e576-4e86-8d48-06035c650f3e-StreamThread-1-consumer] Assigned tasks to clients as {d90d9fda-6d29-4504-b8fc-4de19acdf6fa=[activeTasks: ([0_0]) standbyTasks: ([]) assignedTasks: ([0_0]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1], 1b778679-e576-4e86-8d48-06035c650f3e=[activeTasks: ([0_1]) standbyTasks: ([]) assignedTasks: ([0_1]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1]}. (org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor:653)
[2020-05-07 09:25:05,264] INFO stream-thread [_confluent-ksql-service-defaultquery_CSAS_FILTERED_DOCUMENTS_1E43CB82_555B_4962_B8E8_62FC80BECB99_SELECT_725-4af79071-33ac-4fab-b1b1-d36e7b7dca5b-StreamThread-1-consumer] Assigned tasks to clients as {4af79071-33ac-4fab-b1b1-d36e7b7dca5b=[activeTasks: ([0_0]) standbyTasks: ([]) assignedTasks: ([0_0]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1], 85e070a9-1c38-44b3-89f1-32d189cb3322=[activeTasks: ([0_1]) standbyTasks: ([]) assignedTasks: ([0_1]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1]}. (org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor:653)
[2020-05-07 09:25:05,398] INFO stream-thread [_confluent-ksql-service-defaultquery_CSAS_FILTERED_DOCUMENTS_354534CF_CF63_4FA1_A150_D485EB16BD60_SELECT_828-3c2e0b47-b5d2-48d0-8fea-a0d6838e33a3-StreamThread-1-consumer] Assigned tasks to clients as {fe1c8e60-3641-494b-bb81-5925616b7e3e=[activeTasks: ([0_0]) standbyTasks: ([]) assignedTasks: ([0_0]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1], 3c2e0b47-b5d2-48d0-8fea-a0d6838e33a3=[activeTasks: ([0_1]) standbyTasks: ([]) assignedTasks: ([0_1]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1]}. (org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor:653)
[2020-05-07 09:25:05,492] INFO stream-thread [_confluent-ksql-service-defaultquery_CSAS_FILTERED_DOCUMENTS_5231FEE3_9075_47D0_B8E2_EB3542F9D9A7_SELECT_800-68e7747b-37ff-4136-80f1-3776d23f2beb-StreamThread-1-consumer] Assigned tasks to clients as {00657bf4-8fe3-410d-a79c-f4cb4be6a99c=[activeTasks: ([0_0]) standbyTasks: ([]) assignedTasks: ([0_0]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1], 68e7747b-37ff-4136-80f1-3776d23f2beb=[activeTasks: ([0_1]) standbyTasks: ([]) assignedTasks: ([0_1]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1]}. (org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor:653)
[2020-05-07 09:25:05,581] INFO stream-thread [_confluent-ksql-service-defaultquery_CSAS_FILTERED_DOCUMENTS_E89BA86F_3593_4EE5_8008_EA14683C0BD2_SELECT_853-7b7e8260-f03f-4085-9a0b-f6eee01df50e-StreamThread-1-consumer] Assigned tasks to clients as {7b7e8260-f03f-4085-9a0b-f6eee01df50e=[activeTasks: ([0_0]) standbyTasks: ([]) assignedTasks: ([0_0]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1], 78e6a093-042e-4020-81a4-bf55fa99635a=[activeTasks: ([0_1]) standbyTasks: ([]) assignedTasks: ([0_1]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1]}. (org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor:653)
[2020-05-07 09:25:05,691] INFO stream-thread [_confluent-ksql-service-defaultquery_CSAS_FILTERED_DOCUMENTS_E18CFAB3_BCB7_47AE_AD43_406DCEA3C798_SELECT_825-a2cde456-b114-448b-bbf1-63f6ba4ec3e9-StreamThread-1-consumer] Assigned tasks to clients as {a2cde456-b114-448b-bbf1-63f6ba4ec3e9=[activeTasks: ([0_0]) standbyTasks: ([]) assignedTasks: ([0_0]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1], b561d421-93d7-4386-9f7c-d6a2bdc31310=[activeTasks: ([0_1]) standbyTasks: ([]) assignedTasks: ([0_1]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1]}. (org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor:653)
[2020-05-07 09:25:05,711] INFO stream-thread [_confluent-ksql-service-defaultquery_CSAS_FILTERED_DOCUMENTS_6224562D_DD04_490B_B4C0_736F8C64C2ED_SELECT_785-03f86096-3018-4596-a81b-af44e9aeb5af-StreamThread-1-consumer] Assigned tasks to clients as {b1be053f-cea7-4ceb-ae69-ae608df26df3=[activeTasks: ([0_0]) standbyTasks: ([]) assignedTasks: ([0_0]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1], 03f86096-3018-4596-a81b-af44e9aeb5af=[activeTasks: ([0_1]) standbyTasks: ([]) assignedTasks: ([0_1]) prevActiveTasks: ([]) prevStandbyTasks: ([]) prevAssignedTasks: ([]) capacity: 1]}. (org.apache.kafka.streams.processor.internals.StreamsPartitionAssignor:653)

Спасибо,

1 Ответ

0 голосов
/ 22 мая 2020

Эти строки журнала относятся к перебалансировке группы потребителей. Если вы видите их неоднократно, вероятно, ваши группы потребителей нестабильны. Вероятно, это связано с высокой нагрузкой на сервер, когда он запускается и пытается обработать накопившиеся сообщения, которые накопились, пока сервер был отключен. Перед перезапуском узлы, на которых обработка находится в устойчивом состоянии и с меньшей нагрузкой.

Чтобы решить эту проблему, вам необходимо масштабировать кластер, чтобы уменьшить нагрузку, или, возможно, настроить конфигурацию перебалансировки группы потребителей для стабилизации групп потребителей. Конфигурация потребителя может быть установлена ​​в файлах свойств сервера.

Наиболее важные из них:

...