Исходный код вики Apache Kafka
Версия 15.1 от Alexandr Fokin на 2020/08/15 20:12
Скрыть последних авторов
author | version | line-number | content |
---|---|---|---|
![]() |
1.1 | 1 | |
![]() |
2.1 | 2 | https://kafka.apache.org/ |
![]() |
1.1 | 3 | |
![]() |
9.1 | 4 | ПО: |
5 | **Zookeeper** | ||
![]() |
5.1 | 6 | Zookeeper выполняет роль хранилища метаданных и координатора. Также именно к zookeeper сперва пойдут producer и consumer, чтобы узнать, на каком брокере какие топики и партиции хранятся. |
7 | В более старых версиях Kafka zookeeper отвечал и за хранение оффсетов, но сейчас они хранятся в специальном топике __consumer_offsets на брокере | ||
8 | |||
![]() |
9.1 | 9 | **Apache Kafka** |
10 | Producer (Отправитель) | ||
11 | Consumer (Получатель) | ||
12 | Topic (Отчасти схож с очередью) | ||
![]() |
14.1 | 13 | Partition (Topic может содержаться несколько разделов, позволяющих работать параллельно нескольким Consumer) (Данные находящиеся в разных partition одного topic не дублируют друг друга) |
14 | CosumerGroup (Consumers, находящиеся в разных CosumerGroup, читают данные параллельно и независимо друг от друга. (Получают одни и те же сообщения)) (В рамках одной ConsumerGroup кол-во активных Consumer не может быть больще чем кол-во partitions. Неактивные Consumer могут быть резервными и автоматически будут подключены, если активный Consumer выйдет из строя) | ||
![]() |
5.1 | 15 | |
![]() |
1.1 | 16 | Простой запуст на Windows: |
![]() |
2.1 | 17 | 1) Раскоменнтировать и изменить строки в файле: |
![]() |
1.1 | 18 | kafka_2.12-2.4.0\config\server.properties |
19 | listeners=PLAINTEXT://127.0.0.1:9092 | ||
![]() |
2.1 | 20 | advertised.listeners=PLAINTEXT://127.0.0.1:9092 |
![]() |
1.1 | 21 | |
22 | 2) Запустить ZooKeeper | ||
![]() |
7.1 | 23 | {{code language="cmd"}} |
![]() |
1.1 | 24 | kafka_2.12-2.4.0\bin\windows\zookeeper-server-start.bat "kafka_2.12-2.4.0\config\zookeeper.properties" |
![]() |
7.1 | 25 | {{/code}} |
26 | |||
![]() |
1.1 | 27 | 3) Запустить Kafka |
![]() |
7.1 | 28 | {{code language="cmd"}} |
![]() |
1.1 | 29 | kafka_2.12-2.4.0\bin\windows\kafka-server-start.bat "kafka_2.12-2.4.0\config\server.properties" |
![]() |
7.1 | 30 | {{/code}} |
![]() |
1.1 | 31 | |
![]() |
15.1 | 32 | При запуске на Windows у ApacheKafka есть проблемы связанные с блокировкой файлов. |
33 | Ошибка проявляется при быстрой манипуляции с топиками (создание/удаление). | ||
34 | При появлении ошибки можно удалить папку tmp и перезапустить. | ||
35 | https://stackoverflow.com/questions/50755827/accessdeniedexception-when-deleting-a-topic-on-windows-kafka | ||
![]() |
9.1 | 36 | |
37 | Для взаимодействия с ApacheKafka можное использовать консоль. Управляющие скрипты распологаются в папке: | ||
38 | kafka_2.12-2.4.0\bin\windows | ||
39 | |||
40 | |||
![]() |
5.1 | 41 | Статьи: |
42 | https://habr.com/ru/company/avito/blog/465315/ | ||
![]() |
10.1 | 43 | https://ksqldb.io/quickstart.html |
![]() |
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/ | ||
![]() |
12.1 | 46 | https://jaceklaskowski.gitbooks.io/apache-kafka/kafka-properties-client-id.html |
![]() |
5.1 | 47 | |
![]() |
2.1 | 48 | Развертывание: |
49 | [[bitnami.com | kafka (Docker, VM)>>https://bitnami.com/stack/kafka]] | ||
![]() |
3.1 | 50 | https://github.com/wurstmeister/kafka-docker |
![]() |
4.1 | 51 | https://github.com/lensesio/fast-data-dev |
![]() |
2.1 | 52 | |
53 | |||
![]() |
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 | |||
![]() |
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 | |||
![]() |
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 | ||
![]() |
12.1 | 73 |