Изменения документа Apache Kafka
Редактировал(а) Alexandr Fokin 2024/09/07 11:00
<
>
отредактировано Alexandr Fokin
на 2021/12/26 16:12
на 2021/12/26 16:12
отредактировано Alexandr Fokin
на 2020/08/07 15:18
на 2020/08/07 15:18
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (3 изменено, 0 добавлено, 0 удалено)
-
Объекты (2 изменено, 1 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка. Брокерысообщений.WebHome1 +Разработка.Очереди сообщений.WebHome - Теги
-
... ... @@ -1,1 +1,1 @@ 1 -Apache| БрокерСообщений|ApacheKafka1 +Apache|Kafka - Содержимое
-
... ... @@ -1,66 +2,69 @@ 1 -**Компоненты:** 2 2 3 -* Producer - Производитель сообщений 4 -* Consumer - Потребитель сообщений 5 -* Topic - Отчасти похож на понятие классическую очередь, но отличается по поведению. 6 -При отправке сообщение в топик, для него выбирается одиз из Partition, в который и размещается сообщение. 7 -Содержит внутри себя одну и более Partition. Кол-во Partition определяет максимальную степень параллелизма при потреблении сообщений. 8 -После потребления сообщения оно не удаляется сразу и некоторое время продолжает храниться и доступно для чтения. 9 -* Partition - Представляет из себя очередь, содержащую последовательность экземпляров сообщений, при этом у каждого сообщения есть свой уникальный порядковый номер. 10 -Для каждого читаемого Partition у потребителя храниться значение Offset - смещение, порядковый номер текущего сообщения. После прочтения Offset увеличивается на 1. 11 -* 12 -* CosumerGroup - Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения) 13 -В рамках одной ConsumerGroup кол-во активных Consumer не может быть больше чем кол-во Partition в рамках одного Topic. 14 -Неактивные Consumer выполняет роль резервного и автоматически будут подключены, если один из активных Consumer выйдет из строя. (Или если количество Partition будет увеличино). 15 -* Offset - смещение. Содержит информации о текущей позиции читателя для каждой пары <TopicName>.<PartitionId>, <ConsumerGroupId>. 2 +https://kafka.apache.org/ 16 16 17 ----- 4 +ПО: 5 +**Zookeeper** 6 +Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся. 7 +В более старых версиях Kafka zookeeper отвечал и за хранение оффсетов, но сейчас они хранятся в специальном топике __consumer_offsets на брокере 18 18 19 -**Используемое ПО:** 9 +**Apache Kafka** 10 +Producer (Отправитель) 11 +Consumer (Получатель) 12 +Topic (Отчасти схож с очередью) 13 +Partition (Topic может содержаться несколько разделов, позволяющих работать параллельно нескольким Consumer) (Данные находящиеся в разных partition одного topic не дублируют друг друга) 14 +CosumerGroup (Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения)) (В рамках одной ConsumerGroup кол-во активных Consumer не может быть больще чем кол-во partitions. Неактивные Consumer могут быть резервными и автоматически будут подключены, если активный Consumer выйдет из строя) 20 20 21 -**Zookeeper | [[Zookeeper>>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 22 22 23 -Ранее требовался для запуска. 24 -Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся. 25 -В более старых версиях 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}} 26 26 27 27 28 -**Материалы:** 33 +Для взаимодействия с ApacheKafka можное использовать консоль. Управляющие скрипты распологаются в папке: 34 +kafka_2.12-2.4.0\bin\windows 29 29 30 -Apache Kafka 31 -https://kafka.apache.org/ 32 32 33 -Книга 34 -[[Understanding Message Brokers | O’Reilly>>doc:Книги.O’Reilly.Understanding Message Brokers | O’Reilly.WebHome]] 35 - 36 -Kafka и микросервисы: обзор 37 +Статьи: 37 37 https://habr.com/ru/company/avito/blog/465315/ 38 - 39 -ksqlDB Quickstart 40 40 https://ksqldb.io/quickstart.html 41 - 42 -Apache Kafka — Краткое руководство 43 43 https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/vyuchit-apache-kafka/apache-kafka-kratkoe-rukovodstvo 44 - 45 -Apache Kafka – Конспект 46 46 https://habr.com/ru/post/354486/ 47 - 48 -client.id Property 49 49 https://jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html 50 50 51 -Offset Explorer 52 -Декстоп клиент для работы к Kafka. (Есть функционал просмотра содержимого топиков и отправки сообщений) 53 -https://kafkatool.com/ 44 +Развертывание: 45 +[[bitnami.com | kafka (Docker, VM)>>https://bitnami.com/stack/kafka]] 46 +https://github.com/wurstmeister/kafka-docker 47 +https://github.com/lensesio/fast-data-dev 54 54 55 -Apache Kafka Use Cases (with Kafka Architecture Diagrams) 56 -https://medium.com/softkraft/apache-kafka-use-cases-with-kafka-architecture-diagrams-577be32688e5 57 57 58 -Kafka Tool 50 +Клиенты: 51 +[[confluentinc/confluent-kafka-dotnet>>https://github.com/confluentinc/confluent-kafka-dotnet]] 52 +[[Jroland/kafka-net>>https://github.com/Jroland/kafka-net]] 59 59 60 -Understanding Kafka partition assignment strategies and how to write your own custom assignor 61 -https://medium.com/streamthoughts/understanding-kafka-partition-assignment-strategies-and-how-to-write-your-own-custom-assignor-ebeda1fc06f3 62 62 55 +KafkaConsoleTool: 56 +https://riptutorial.com/apache-kafka/topic/8990/kafka-console-tools 57 +https://medium.com/@TimvanBaarsen/apache-kafka-cli-commands-cheat-sheet-a6f06eac01b 58 +https://howtoprogram.xyz/2016/07/08/apache-kafka-command-line-interface/ 59 +https://help.aiven.io/en/articles/2661525-viewing-and-resetting-consumer-group-offsets 63 63 64 -**Клиенты:** 61 +https://stackoverflow.com/questions/32697999/kafka-consumer-list 62 +https://stackoverflow.com/questions/35437681/kafka-get-partition-count-for-a-topic 63 +https://stackoverflow.com/questions/14755030/apache-kafka-consumer-state 64 +https://stackoverflow.com/questions/28156227/kafka-consumer-group-creation-with-specific-offset 65 65 66 -**[[Confluentinc.Confluent-kafka-dotnet>>doc:Разработка.NET.Библиотеки.Провайдеры.Брокеры сообщений.Confluentinc\.Confluent-kafka-dotnet.WebHome]] - c#** 66 + 67 +Understanding Kafka partition assignment strategies and how to write your own custom assignor 68 +https://medium.com/streamthoughts/understanding-kafka-partition-assignment-strategies-and-how-to-write-your-own-custom-assignor-ebeda1fc06f3 69 +
- 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.html5 +Консольный 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-0 9-23 11:04:41.8131 +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 -202 1-08-1820:59:32.9971 +2020-06-30 10:02:02.880
- XWiki.XWikiComments[0]
-
- Автор
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.cccc1808 - Комментарий
-
... ... @@ -1,0 +1,3 @@ 1 +Простой способ сбросить состояние тестового локального инстанса - удалить содержимое папок: 2 +Drive:\tmp\kafka-logs 3 +Drive:\tmp\zookeeper - Дата
-
... ... @@ -1,0 +1,1 @@ 1 +2020-02-17 18:32:54.563