Стратегия развертывания Kafka-stream - PullRequest
0 голосов
/ 24 мая 2018

Team, Какой стратегии следует придерживаться при развертывании приложений Kafka-streams?

У нас есть кластер серверов приложений, и в соответствии со стратегиями развертывания мы использовали CI / CD Jenkins для развертывания jar.Здесь идут проблемы перебалансировки.После развертывания приложения в течение 3-5 минут все службы включаются, и группа переходит в состояние повторной балансировки.

до моментального снимка развертывания назначенного раздела и потребителей.

TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        CONSUMER-ID                                       HOST                           CLIENT-ID
METRICS                        62         70306073        70307980        1907       METRICS-0d65d2ba-06ce-4488-bd4b-7509391d6f08-StreamThread-5-consumer-540b76ab-8374-4e99-8507-c3003488c61b/172.24.xx.xx                  METRICS-0d65d2ba-06ce-4488-bd4b-7509391d6f08-StreamThread-5-consumer
METRICS                        30         73200612        73202022        1410       METRICS-ef9ac162-5e7f-4695-88c4-0660485a3f29-StreamThread-2-consumer-20919608-c5e9-4263-852b-04ae7f16bcf9/172.24.xy.xy                  METRICS-ef9ac162-5e7f-4695-88c4-0660485a3f29-StreamThread-2-consumer
METRICS                        31         75197907        75199506        1599       METRICS-784f2d93-9cee-445f-ae19-1eea98a2dd11-StreamThread-3-consumer-6211abf7-47b6-443d-8047-301fbd6a0ebf/172.24.xz.xz                  METRICS-784f2d93-9cee-445f-ae19-1eea98a2dd11-StreamThread-3-consumer

ипосле развертывания / перезапуска раздела, выровненного по разным потребителям:

TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        CONSUMER-ID                                       HOST                           CLIENT-ID

METRICS                        62         72423124        72424080        956        METRICS-7617b646-a9f8-4cee-ad40-3ace6e1cca1e-StreamThread-4-consumer-687ac6fb-5915-478a-87f6-25204f8261dc/172.24.3x.xx                  METRICS-7617b646-a9f8-4cee-ad40-3ace6e1cca1e-StreamThread-4-consumer

METRICS                        30         74813289        74814057        768        METRICS-2535d442-1f58-4c1a-bbd5-c0ef46a074d7-StreamThread-3-consumer-0496332f-4a60-42d3-98e9-d1ef9ef7e26a/172.24.3x.xx                  METRICS-2535d442-1f58-4c1a-bbd5-c0ef46a074d7-StreamThread-3-consumer

Чтобы преодолеть эту ситуацию, мы попробовали установить стратегию тайм-аута kafka-consumer, чтобы избежать того же самого, но, похоже, у меня это не сработало.

/XXX/kafka-1.0.0/bin/kafka-consumer-groups.sh --bootstrap-server 172.29.XX.XXX:9092 --describe --group GROUPNAME --timeout 300000

TOPIC                          PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG        CONSUMER-ID                                       HOST                           CLIENT-ID
GROUPNAME                        69         73592702        73593636        934        METRICS-0ae9cabe-4879-4400-b111-84580ea3118b-StreamThread-2-consumer-021397b6-87b3-49fb-ae01-b0acbc54cfc5/172.24.xx.xx                  METRICS-0ae9cabe-4879-4400-b111-84580ea3118b-StreamThread-2-consumer

Итак, было бы хорошо, если бы кто-нибудь помог нам получить закрепленное назначение (раздел должен быть назначен тому же узлу, что и до развертывания) разделов после изменений развертывания.Заранее спасибо!

1 Ответ

0 голосов
/ 24 мая 2018

Если вы остановите и перезапустите приложение Kafka Streams, по умолчанию оно сгенерирует новые идентификаторы.Это не означает, что разделы были переназначены на другой хост.

...