21 июля 2025 8
Цель задания: научиться устанавливать и настраивать Apache Kafka на операционной системе Windows, а также выполнять базовые операции с топиками и сообщениями.

Необходимые компоненты

1. Java Development Kit (JDK) версии 8 или выше.
  • Скачать можно с официального сайта Oracle.
  • После установки проверьте работоспособность в командной строке (cmd) командой: java --version.
  • Убедитесь, что переменная окружения JAVA_HOME корректно настроена.

  • 2. Apache Kafka (последняя стабильная версия).
  • Скачать можно с официального сайта Kafka.
  • Выберите Binary downloads и распакуйте архив в удобное место (например,C:\Kafka).

  • ! Рекомендуется устанавливать последнюю стабильную версию программы (на момент создания урока это версия 3.9.0, поэтому далее рассматривается именно она). Однако процесс установки от версии к версии практически не меняется, так что данная информация подойдет и для других версий. !

    После распаковки дистрибутива, вы увидите различные папки, такие как:

  • bin: содержит исполняемые файлы (скрипты), которые используются для запуска и управления Kafka. Внутри есть подпапка windows — в ней лежат те же самые скрипты, но адаптированные для Windows (например,.bat-файлы вместо .sh).

  • Эти скрипты позволяют запускать и останавливать сервер Kafka (kafka-server-start, kafka-server-stop); работать с топиками (создавать, удалять, просматривать), управлять кластером через консоль.

  • config: здесь хранятся файлы настроек Kafka и ZooKeeper (системы, которая помогает Kafka координировать работу).

  • Основные файлы:

  • server.properties — главный конфигурационный файл Kafka (настройки сервера, порты, пути к данным и т. д.).
  • zookeeper.properties — настройки ZooKeeper (нужен для управления кластером Kafka).
  • Другие файлы (например, для настройки безопасности, логов и т. д.).

  • Если вам нужно изменить порт, путь к данным или другие параметры, редактируйте их здесь.

  • libs: Это папка со всеми библиотеками, которые нужны для запуска и работоспособности.

  • Kafka написана на Java, поэтому без этих файлов она не запустится.

    Обычно здесь ничего не меняют, но если вы добавляете свои плагины или расширения – их можно положить сюда.

  • logs: Здесь Kafka сохраняет логи (журналы событий) — записи о работе системы, ошибках и предупреждениях. Они могут быть полезны при отладке проблем и нахождении зависимостей между компонентами.

  • Основные логи:

  • server.log — основные сообщения сервера Kafka.
  • controller.log — логи управления кластером.
  • state-change.log — изменения состояния сервера.

  • Если что-то пошло не так, первым делом смотрите сюда!


    Шаг 1. Настройка Kafka

    Базовая настройка каталога данных и логирования. По умолчанию, файлы логов и каталог данных сохраняются в папке /tmp, что может привести к проблемам производительности, безопасности и управления данными.

    Измените пути для логов и данных:

    1. Перейдите в config/server.properties и откройте файл в любом текстовом редакторе (на скриншоте Notepad++).
    2. Найдите поле log.dirs (можно воспользоваться поиском, для этого нажмите сочетание клавиш Ctrl+F).
    Pic1.png
    3. Поменяйте стандартный путь /tmp/kafka-logs на постоянный путь. Например C:\Kafka\kafka-logs. После чего сохраните файл и закройте его. Папка kafka-logs должна быть создана.
    4. Аналогичные действия нужно сделать и для каталога данных. Для этого перейдите в config/zookeeper.properties и откройте файл в любом текстовом редакторе.
    5. В параметре dataDir также нужно поменять стандартный путь на свой. Например c:/kafka/zookeeper-data. Папка zookeeper-data должна быть создана.
    pic2.png

    Запуск серверов:

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

  • Zookeeper: откройте командную строку в папке Kafka и выполните команду .\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties.

  • pic3.png

    Убедитесь, что Zookeeper запущен на порту 2181 — это стандартный порт для этой службы.

    Если у вас появляется ошибка «The input line is too long. The syntax of the command is incorrect», переместите папку с Kafka в каталог, ближе к корню диска. Во время запуска zookeeper-server-start.bat вызывает CLASSPATH несколько раз, что приводит к переполнению переменной. Среда cmd.exe поддерживает не более 8191 символов.

  • Kafka: в новом окне командной строки выполните команду .\bin\windows\kafka-server-start.bat .\config\server.properties.

  • Для проверки работоспособности в новой командной строке попробуйте создать тему с помощью следующей команды: .\bin\windows\kafka-topics.bat --create --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 --topic TestTopic.
     
    Вы должны увидеть аналогичное сообщение:

    pic4.png

    Обратите внимание, что порт 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.

    У Вас должно быть аналогичное сообщение:

    pic5.png

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

    localhost:9092 --topic TestTopic --from-beginning

    pic6.png

    Как видно, мы получили наши тестовые сообщения.

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

    Возможные ошибки и решения

  • Проблемы с JDK. Убедитесь что у вас установлен JDK, а не JRE. Также обратите внимание на версию, она должна быть 8 или выше.
  • Проверка переменных окружения. После установки Java убедитесь, что переменная JAVA_HOME правильно установлена и что путь к каталогу bin присутствует в системном пути.
  • Проблемы с firewall и антивирусом. Иногда сторонние антивирусные программы или firewall могут блокировать Kafka. Если вы столкнулись с проблемами подключения, попробуйте на время отключить их.
  • Порты. По умолчанию Zookeeper слушает на порту 2181, а Kafka на 9092. Убедитесь, что эти порты свободны или переназначьте стандартные порты для этих служб.
  • Запуск Zookeeper перед Kafka. Перед тем как запускать Kafka, убедитесь, что Zookeeper уже работает. Если нет, то запустите Zookeeper.
  • Неправильное завершение Kafka. Если Kafka завершается неправильно, то возможно некоторые данные еще остались во временной папке. Если вы начинаете сталкиваться с трудностями при запуске, попробуйте очистить временные файлы.


  • В данной работе мы установили Kafka, настроили серверы, создали топики и проверили отправку/получение сообщений.

    Последние статьи в блоге

    Сертификация ИТ-специалистов: точная оценка ваших компетенций

    В ИТ-мире важно не просто обладать знаниями, но и четко понимать свой реальный уровень владения теми или иными навыками.

    Новости
    22 августа 2025

    Группа компаний IBS запускает национальную сертификацию для бизнес-аналитиков

    Центр сертификации IBS запускает новую систему оценки квалификации бизнес-аналитиков, которая сочетает международные стандарты c особенностями российского рынка. Программа ориентирована на теоретическую базу и прикладные навыки, необходимые в работе бизнес-аналитика в современных ИТ- и цифровых проектах.

    Жизнь компании
    20 августа 2025

    От разработчика к тренеру: как превратить экспертизу в стабильный доход

    Часто к преподаванию переходят после достижения «карьерного потолка»: на уровне сеньора процессы отлажены, и новые вызовы исчезают. Однако вместо того чтобы долго преподавать за символическую плату, можно сосредоточиться на создании системного заработка. Разберём реальные способы: от коучинга до запуска курсов.

    Новости
    13 августа 2025

    Установка и настройка брокера сообщений Kafka на Windows

    Цель задания: научиться устанавливать и настраивать Apache Kafka на операционной системе Windows, а также выполнять базовые операции с топиками и сообщениями.

    21 июля 2025

    Почему Python? Полный разбор Python vs Java в ML

    «Когда 9 из 10 курсов по машинному обучению используют Python — это не случайность. Это результат десятилетия эволюции инструментов, сообщества и образовательной экосистемы».

    21 июля 2025

    Что должен знать и уметь архитектор ПО в 2025 году

    Представьте профессию, в которой нужно одновременно мыслить как инженер, говорить как консультант и чувствовать бизнес как продакт. Архитектор ПО — это не просто старший разработчик с модным названием должности, а человек, который соединяет технологии, людей и цели в устойчивую, масштабируемую систему. Но какими навыками он должен владеть сегодня, чтобы быть действительно востребованным?

    21 июля 2025

    Памятка по документированию архитектурных решений

    Отсутствие качественного архитектурного описания в сложных ИТ-проектах создает серьезные риски: фрагментированное понимание системы, накопление «архитектурного долга», трудности интеграции, масштабирования и онбординга. Это ведет к срывам сроков, перерасходу бюджета, снижению качества и росту затрат на поддержку, подвергая проект риску неоптимальных решений и критических уязвимостей.

    Новости
    18 июля 2025

    Летняя акция: учитесь онлайн с выгодой, не выходя из отпуска! До конца августа второй курс со скидкой 50%

    Проведите лето с пользой для карьеры – второй курс со скидкой 50%!

    09 июля 2025

    5 курсов июля со скидкой 30%

    Друзья, у нас остались последние места на курсах, которые стартуют в июле. Сейчас есть возможность записаться на обучение со скидкой 30%!

    Новости
    04 июля 2025

    Карьерный трек аналитика: от базы к экспертизе

    Системные и бизнес-аналитики аналитики играют ключевую роль в digital-развитии продуктов. Эти специалисты выступают связующим звеном между бизнес-задачами и техническими решениями, обеспечивая эффективную коммуникацию между заинтересованными сторонами. Рассмотрим карьерные пути в аналитике, актуальные требования рынка и перспективы профессионального роста.

    27 июня 2025

    Почему именно сейчас стоит учиться на бизнес-аналитика уровня Middle. «Руководство BABOK» в подарок участникам программы!

    Вы в ИТ, вам за 30. Вроде бы всё хорошо — есть работа, скиллы, стабильность. Но в воздухе — тревожность. Проекты замораживаются. Бизнес урезает бюджеты. От ИТ ждут не просто задач, а конкретного влияния на прибыль.

    25 июня 2025

    Уничтожит ли ИИ-генератор кода профессию разработчика?

    С появлением ИИ-инструментов, а также в связи недавним анонсом Canva Code, который генерирует код за пару кликов, многие задумались: не станут ли такие инструмент угрозой для разработчиков? Давайте разберемся, есть ли здесь реальные риски, или это все же преувеличения.

    23 июня 2025

    Проектное резюме консультанта 1С: карьерный инструмент, чтобы выделиться среди других кандидатов

    Рассказываем о продвинутой альтернативе привычного резюме для консультантов 1C и других специалистов с проектной занятостью.

    Новости
    19 июня 2025

    Выбор карьеры: Менеджер бизнес-процессов или Бизнес-аналитик уровня Middle?

    В мире цифровой трансформации пути развития аналитиков и менеджеров проектов все чаще расходятся: кому-то ближе работа с требованиями и API, а кому-то — выстраивание системной эффективности на уровне всей компании. Какой путь выбрать лично вам?

    Новости
    18 июня 2025

    В Учебном центре IBS планируется запуск курсов по продуктам TData

    Читайте о стратегическом соглашении TData и IBS и наших новых курсах

    11 июня 2025

    Компетенции бизнес-аналитиков: Junior и Middle в сравнении

    В условиях динамично развивающейся ИТ-индустрии важно чётко понимать, какие навыки и знания необходимы для успешной работы на каждом этапе карьерного пути. Сегодня обсудим разницу в компетенциях ИТ бизнес-аналитиков уровней Junior и Middle. Если вы только начинаете свой путь в ИТ бизнес-анализе или, наоборот, уже обладаете некоторым опытом, этот материал поможет вам понять, какие навыки необходимы на каждом уровне и как развиваться дальше.

    Новости
    05 июня 2025

    Лимит на сбои. Как понять, что система перегружена, а не просто плохо сделана?

    Оценить производительность системы непросто, а контролировать еще сложнее. Как сделать так, чтобы внедряемая или уже эксплуатируемая система справлялась с нагрузками? Можно ли в этом вопросе полностью положиться на разработчиков ПО или вендоров? И кто в итоге будет отвечать за все простои системы? Рассказывает Николай Марченко, директор отделения нагрузочного тестирования компании IBS. Начать следует с того, что разбираться с последствиями возможных сбоев в любом случае придется тем, кто работает непосредственно с системой. Поэтому о вопросах производительности лучше задуматься еще на этапе внедрения.

    Новости
    03 июня 2025

    Кто такой аналитик 1С?

    Аналитик 1С — это специалист, который занимается оптимизацией бизнес-процессов с использованием программного обеспечения 1С. Его задача — анализировать существующие процессы, выявлять недостатки и разрабатывать решения для повышения эффективности. Аналитик переводит бизнес-требования в технические задания для разработчиков, становясь мостом между пользователями и ИТ-отделом. Эта роль требует как технических знаний, так и навыков коммуникации, что позволяет вносить значительный вклад в развитие компании и улучшение её конкурентоспособности.

    Новости
    28 мая 2025

    Разбор задачи: UML-диаграмма классов для системы регистрации на курсы

    Несколько дней назад мы предложили вам решить задачу — спроектировать диаграмму классов для системы регистрации студентов на учебные курсы в университете. Сегодня публикуем один из возможных вариантов решения. Сравните его с вашим и оцените, какие элементы вы отразили верно, а где можно усилить проработку.

    22 мая 2025

    Бизнес-аналитик и системный аналитик в ИТ: кто есть кто и в чем разница

    Современные ИТ-проекты — будь то корпоративные решения, мобильные приложения или интеграционные платформы — требуют точного понимания как бизнес-целей, так и технических ограничений. На пересечении этих задач появляются две ключевые роли: бизнес-аналитик (БА) и системный аналитик (СА). Несмотря на схожесть направлений деятельности, эти специалисты действуют на разных уровнях и выполняют разные функции. Рассмотрим, кто они, каковы их зоны ответственности, чем они похожи, а чем принципиально отличаются.

    21 мая 2025

    Не нашли, что искали? — Просто напишите, и мы поможем

    Корпоративное обучение Оценка персонала Сертификация О нас Стань тренером Блог
    Пользователь только что записался на курс ""
    Спасибо!
    Форма отправлена успешно.