Необходимые компоненты
1. Java Development Kit (JDK) версии 8 или выше.2. Apache Kafka (последняя стабильная версия).
! Рекомендуется устанавливать последнюю стабильную версию программы (на момент создания урока это версия 3.9.0, поэтому далее рассматривается именно она). Однако процесс установки от версии к версии практически не меняется, так что данная информация подойдет и для других версий. !
После распаковки дистрибутива, вы увидите различные папки, такие как:
Эти скрипты позволяют запускать и останавливать сервер Kafka (kafka-server-start, kafka-server-stop); работать с топиками (создавать, удалять, просматривать), управлять кластером через консоль.
Основные файлы:
Если вам нужно изменить порт, путь к данным или другие параметры, редактируйте их здесь.
Kafka написана на Java, поэтому без этих файлов она не запустится.
Обычно здесь ничего не меняют, но если вы добавляете свои плагины или расширения – их можно положить сюда.
Основные логи:
Если что-то пошло не так, первым делом смотрите сюда!
Шаг 1. Настройка Kafka
Базовая настройка каталога данных и логирования. По умолчанию, файлы логов и каталог данных сохраняются в папке /tmp, что может привести к проблемам производительности, безопасности и управления данными.Измените пути для логов и данных:
1. Перейдите в config/server.properties и откройте файл в любом текстовом редакторе (на скриншоте Notepad++).
2. Найдите поле log.dirs (можно воспользоваться поиском, для этого нажмите сочетание клавиш Ctrl+F).

3. Поменяйте стандартный путь /tmp/kafka-logs на постоянный путь. Например C:\Kafka\kafka-logs. После чего сохраните файл и закройте его. Папка kafka-logs должна быть создана.
4. Аналогичные действия нужно сделать и для каталога данных. Для этого перейдите в config/zookeeper.properties и откройте файл в любом текстовом редакторе.
5. В параметре dataDir также нужно поменять стандартный путь на свой. Например c:/kafka/zookeeper-data. Папка zookeeper-data должна быть создана.

Запуск серверов:
Для запуска нужно перейти в папку с распакованным архивом и открыть командную строку.

Убедитесь, что Zookeeper запущен на порту 2181 — это стандартный порт для этой службы.
Если у вас появляется ошибка «The input line is too long. The syntax of the command is incorrect», переместите папку с Kafka в каталог, ближе к корню диска. Во время запуска zookeeper-server-start.bat вызывает CLASSPATH несколько раз, что приводит к переполнению переменной. Среда cmd.exe поддерживает не более 8191 символов.
Для проверки работоспособности в новой командной строке попробуйте создать тему с помощью следующей команды: .\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 --topic TestTopic.
Вы должны увидеть аналогичное сообщение:

Обратите внимание, что порт 2181 совпадает с открытым портом для Zookeeper.
Шаг 2. Отправка и получение сообщений
Для наглядности создадим еще одну тему под названием NewTopic.
Проверим, какие темы у нас существуют, следующей командой: .\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 --topic NewTopic.
После этого выполним проверку созданных топиков командой .\bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092.
У Вас должно быть аналогичное сообщение:

Для того чтобы начать получать сообщения, в новом окне консоли введите следующую команду: .\bin\windows\kafka-console-consumer.bat --bootstrap-server
localhost:9092 --topic TestTopic --from-beginning

Как видно, мы получили наши тестовые сообщения.
Это простой функционал, который помогает понять и разобраться в инструментах Kafka. Однако у вас может что-то пойти не так в процессе выполнения установки и тестов.
Возможные ошибки и решения
В данной работе мы установили Kafka, настроили серверы, создали топики и проверили отправку/получение сообщений.