Скрыть последних авторов
Alexandr Fokin 1.1 1
Alexandr Fokin 2.1 2 https://kafka.apache.org/
Alexandr Fokin 1.1 3
Alexandr Fokin 9.1 4 ПО:
5 **Zookeeper**
Alexandr Fokin 5.1 6 Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся.
7 В более старых версиях Kafka zookeeper отвечал и за хранение оффсетов, но сейчас они хранятся в специальном топике __consumer_offsets на брокере
8
Alexandr Fokin 9.1 9 **Apache Kafka**
10 Producer (Отправитель)
11 Consumer (Получатель)
12 Topic (Отчасти схож с очередью)
Alexandr Fokin 14.1 13 Partition (Topic может содержаться несколько разделов, позволяющих работать параллельно нескольким Consumer) (Данные находящиеся в разных partition одного topic не дублируют друг друга)
14 CosumerGroup (Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения)) (В рамках одной ConsumerGroup кол-во активных Consumer не может быть больще чем кол-во partitions. Неактивные Consumer могут быть резервными и автоматически будут подключены, если активный Consumer выйдет из строя)
Alexandr Fokin 5.1 15
Alexandr Fokin 1.1 16 Простой запуст на Windows:
Alexandr Fokin 2.1 17 1) Раскоменнтировать и изменить строки в файле:
Alexandr Fokin 1.1 18 kafka_2.12-2.4.0\config\server.properties
19 listeners=PLAINTEXT://127.0.0.1:9092
Alexandr Fokin 2.1 20 advertised.listeners=PLAINTEXT://127.0.0.1:9092
Alexandr Fokin 1.1 21
22 2) Запустить ZooKeeper
Alexandr Fokin 7.1 23 {{code language="cmd"}}
Alexandr Fokin 1.1 24 kafka_2.12-2.4.0\bin\windows\zookeeper-server-start.bat "kafka_2.12-2.4.0\config\zookeeper.properties"
Alexandr Fokin 7.1 25 {{/code}}
26
Alexandr Fokin 1.1 27 3) Запустить Kafka
Alexandr Fokin 7.1 28 {{code language="cmd"}}
Alexandr Fokin 1.1 29 kafka_2.12-2.4.0\bin\windows\kafka-server-start.bat "kafka_2.12-2.4.0\config\server.properties"
Alexandr Fokin 7.1 30 {{/code}}
Alexandr Fokin 1.1 31
Alexandr Fokin 15.1 32 При запуске на Windows у ApacheKafka есть проблемы связанные с блокировкой файлов.
33 Ошибка проявляется при быстрой манипуляции с топиками (создание/удаление).
34 При появлении ошибки можно удалить папку tmp и перезапустить.
35 https://stackoverflow.com/questions/50755827/accessdeniedexception-when-deleting-a-topic-on-windows-kafka
Alexandr Fokin 9.1 36
37 Для взаимодействия с ApacheKafka можное использовать консоль. Управляющие скрипты распологаются в папке:
38 kafka_2.12-2.4.0\bin\windows
39
40
Alexandr Fokin 5.1 41 Статьи:
42 https://habr.com/ru/company/avito/blog/465315/
Alexandr Fokin 10.1 43 https://ksqldb.io/quickstart.html
Alexandr Fokin 11.1 44 https://coderlessons.com/tutorials/bolshie-dannye-i-analitika/vyuchit-apache-kafka/apache-kafka-kratkoe-rukovodstvo
45 https://habr.com/ru/post/354486/
Alexandr Fokin 12.1 46 https://jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html
Alexandr Fokin 5.1 47
Alexandr Fokin 2.1 48 Развертывание:
49 [[bitnami.com | kafka (Docker, VM)>>https://bitnami.com/stack/kafka]]
Alexandr Fokin 3.1 50 https://github.com/wurstmeister/kafka-docker
Alexandr Fokin 4.1 51 https://github.com/lensesio/fast-data-dev
Alexandr Fokin 2.1 52
53
Alexandr Fokin 1.1 54 Клиенты:
55 [[confluentinc/confluent-kafka-dotnet>>https://github.com/confluentinc/confluent-kafka-dotnet]]
56 [[Jroland/kafka-net>>https://github.com/Jroland/kafka-net]]
57
Alexandr Fokin 12.1 58
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
Alexandr Fokin 13.1 71 Understanding Kafka partition assignment strategies and how to write your own custom assignor
72 https://medium.com/streamthoughts/understanding-kafka-partition-assignment-strategies-and-how-to-write-your-own-custom-assignor-ebeda1fc06f3
Alexandr Fokin 12.1 73