Изменения документа Apache Kafka

Редактировал(а) Alexandr Fokin 2024/09/07 11:00

<
От версии < 27.1 >
отредактировано Alexandr Fokin
на 2021/12/25 16:53
К версии < 15.2 >
отредактировано Alexandr Fokin
на 2020/08/15 22:06
>
Изменить комментарий: Удаленный объект

Комментарий

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.Брокеры сообщений.WebHome
1 +Разработка.Очереди сообщений.WebHome
Теги
... ... @@ -1,1 +1,1 @@
1 -Apache|БрокерСообщений|ApacheKafka
1 +Apache|Kafka
Содержимое
... ... @@ -1,51 +1,73 @@
1 -Apache Kafka
1 +
2 2  https://kafka.apache.org/
3 3  
4 4  ПО:
5 +**Zookeeper**
6 +Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся.
7 +В более старых версиях Kafka zookeeper отвечал и за хранение оффсетов, но сейчас они хранятся в специальном топике __consumer_offsets на брокере
5 5  
9 +**Apache Kafka**
10 +Producer (Отправитель)
11 +Consumer (Получатель)
12 +Topic (Отчасти схож с очередью)
13 +Partition (Topic может содержаться несколько разделов, позволяющих работать параллельно нескольким Consumer) (Данные находящиеся в разных partition одного topic не дублируют друг друга)
14 +CosumerGroup (Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения)) (В рамках одной ConsumerGroup кол-во активных Consumer не может быть больще чем кол-во partitions. Неактивные Consumer могут быть резервными и автоматически будут подключены, если активный Consumer выйдет из строя)
6 6  
7 -Zookeeper
8 -[[Разработка.Базы данных.NoSQL.Zookeeper.WebHome>>doc:Разработка.Базы данных.NoSQL.Zookeeper.WebHome]]
16 +Простой запуст на Windows:
17 +1) Раскоменнтировать и изменить строки в файле:
18 +kafka_2.12-2.4.0\config\server.properties
19 +listeners=PLAINTEXT://127.0.0.1:9092
20 +advertised.listeners=PLAINTEXT://127.0.0.1:9092
9 9  
10 -Ранее требовался для запуска.
11 -Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся.
12 -В более старых версиях Kafka zookeeper отвечал и за хранение оффсетов, но сейчас они хранятся в специальном топике __consumer_offsets на брокере__
22 +2) Запустить ZooKeeper
23 +{{code language="cmd"}}
24 +kafka_2.12-2.4.0\bin\windows\zookeeper-server-start.bat "kafka_2.12-2.4.0\config\zookeeper.properties"
25 +{{/code}}
26 +
27 +3) Запустить Kafka
28 +{{code language="cmd"}}
29 +kafka_2.12-2.4.0\bin\windows\kafka-server-start.bat "kafka_2.12-2.4.0\config\server.properties"
30 +{{/code}}
13 13  
14 -**Apache Kafka**
32 +При запуске на Windows у ApacheKafka есть проблемы связанные с блокировкой файлов.
33 +Ошибка проявляется при быстрой манипуляции с топиками (создание/удаление).
34 +При появлении ошибки можно удалить папку tmp и перезапустить.
35 +https://stackoverflow.com/questions/50755827/accessdeniedexception-when-deleting-a-topic-on-windows-kafka
15 15  
16 -* Producer (Отправитель)
17 -* Consumer (Получатель)
18 -* Topic (Отчасти схож с очередью)
19 -* Partition (Topic может содержаться несколько разделов, позволяющих работать параллельно нескольким Consumer) (Данные находящиеся в разных partition одного topic не дублируют друг друга)
20 -* CosumerGroup (Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения)) (В рамках одной ConsumerGroup кол-во активных Consumer не может быть больще чем кол-во partitions. Неактивные Consumer могут быть резервными и автоматически будут подключены, если активный Consumer выйдет из строя)
37 +Для взаимодействия с ApacheKafka можное использовать консоль. Управляющие скрипты распологаются в папке:
38 +kafka_2.12-2.4.0\bin\windows
21 21  
22 -**Статьи:**
23 23  
24 -Kafka и микросервисы: обзор
41 +Статьи:
25 25  https://habr.com/ru/company/avito/blog/465315/
26 -
27 -ksqlDB Quickstart
28 28  https://ksqldb.io/quickstart.html
29 -
30 -Apache Kafka — Краткое руководство
31 31  https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/vyuchit-apache-kafka/apache-kafka-kratkoe-rukovodstvo
32 -
33 -Apache Kafka – Конспект
34 34  https://habr.com/ru/post/354486/
35 -
36 -client.id Property
37 37  https://jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html
38 38  
39 -Offset Explorer
40 -Декстоп клиент для работы к Kafka. (Есть функционал просмотра содержимого топиков и отправки сообщений)
41 -https://kafkatool.com/
48 +Развертывание:
49 +[[bitnami.com | kafka (Docker, VM)>>https://bitnami.com/stack/kafka]]
50 +https://github.com/wurstmeister/kafka-docker
51 +https://github.com/lensesio/fast-data-dev
42 42  
43 -Apache Kafka Use Cases (with Kafka Architecture Diagrams)
44 -https://medium.com/softkraft/apache-kafka-use-cases-with-kafka-architecture-diagrams-577be32688e5
45 45  
54 +Клиенты:
55 +[[confluentinc/confluent-kafka-dotnet>>https://github.com/confluentinc/confluent-kafka-dotnet]]
56 +[[Jroland/kafka-net>>https://github.com/Jroland/kafka-net]]
46 46  
47 -**Клиенты:**
48 -https://wiki.denhome.ru/bin/view/Разработка/NET/Библиотеки/Провайдеры/Брокеры%20сообщений/Confluentinc.Confluent-kafka-dotnet/
49 49  
59 +KafkaConsoleTool:
60 +https://riptutorial.com/apache-kafka/topic/8990/kafka-console-tools
61 +https://medium.com/@TimvanBaarsen/apache-kafka-cli-commands-cheat-sheet-a6f06eac01b
62 +https://howtoprogram.xyz/2016/07/08/apache-kafka-command-line-interface/
63 +https://help.aiven.io/en/articles/2661525-viewing-and-resetting-consumer-group-offsets
64 +
65 +https://stackoverflow.com/questions/32697999/kafka-consumer-list
66 +https://stackoverflow.com/questions/35437681/kafka-get-partition-count-for-a-topic
67 +https://stackoverflow.com/questions/14755030/apache-kafka-consumer-state
68 +https://stackoverflow.com/questions/28156227/kafka-consumer-group-creation-with-specific-offset
69 +
70 +
50 50  Understanding Kafka partition assignment strategies and how to write your own custom assignor
51 51  https://medium.com/streamthoughts/understanding-kafka-partition-assignment-strategies-and-how-to-write-your-own-custom-assignor-ebeda1fc06f3
73 +
XWiki.XWikiComments[3]
Комментарий
... ... @@ -1,8 +1,14 @@
1 -Что такое гарантия доставки сообщений или как избавиться от дублей и потерь в Apache Kafka и других Big Data брокерах
2 -https://www.bigdataschool.ru/blog/kafka-exactly-once.html
1 +{{code language="cmd"}}
2 +Список топиков
3 +kafka-topics.bat --bootstrap-server <server> --list
3 3  
4 ак ускорить работу producer’ов Kafka: параметры конфигурации производителей
5 -https://www.bigdataschool.ru/blog/kafka-producers-configuration.html
5 онсольный consumer
6 +kafka-console-consumer.bat --bootstrap-server <server> --topic <topic> --from-beginning
6 6  
7 -Почему ваша Kafka такая медленная и как ее ускорить: 7 главных факторов производительности этой Big Data системы
8 -https://www.bigdataschool.ru/blog/kafka-performance-factors.html
8 +Данные по ConsumerGroup(текущее смещение)
9 +kafka-consumer-groups.bat --describe --group <ConsumerGroupId> --bootstrap-server <server>
10 +
11 +Удалить ConsumerGroup(смещения по группе)
12 +kafka-consumer-groups.bat --bootstrap-server <server> --delete --group <ConsumerGroupId>
13 +{{/code}}
14 +
Дата
... ... @@ -1,1 +1,1 @@
1 -2020-09-23 11:04:41.813
1 +2020-03-05 19:11:35.57
XWiki.XWikiComments[4]
Комментарий
... ... @@ -1,7 +1,5 @@
1 -Изменение параметра максимального размера сообщения:
1 +Вариант использования.
2 +В очереди скопилось много сообщений, которые можно пропустить. Необходимо начать читать свежие сообщения.
2 2  
3 -Kafka - Broker: Message size too large
4 -https://stackoverflow.com/questions/59322133/kafka-broker-message-size-too-large
5 -
6 -Increase message.max.bytes
7 -https://github.com/bitnami/bitnami-docker-kafka/issues/13
4 +1) Удалить ConsumerGroup.
5 +2) Подключить Consumer с заданным параметром AutoOffsetReset. (значение параметра - задать смещение с конца)
Дата
... ... @@ -1,1 +1,1 @@
1 -2021-08-18 20:59:32.997
1 +2020-06-30 10:02:02.880