Задать вопрос
Все статьи / Полезная информация / Установка и настройка Apache Kafka
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

apple banana
Найти записи, которые содержат хотя бы одно из двух слов.

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Установка и настройка Apache Kafka

Apache Kafka – это распределенная система обмена сообщениями, которую используют для передачи данных между разными сервисами и приложениями. Ее часто называют брокером сообщений: Kafka принимает сообщения от одних приложений, сохраняет их и передает другим. Она позволяет системам обмениваться данными в реальном времени, не зависит от скорости работы отдельных компонентов и не требует прямого подключения сервисов друг к другу.

В центре работы Kafka лежит понятие топика – канала, куда отправляются сообщения. Приложения, которые создают данные, называются продюсерами, а те, которые читают данные, – консьюмерами. Kafka хранит сообщение не в одном общем файле, а делит каждый топик на партиции – независимые последовательные логи. Партиция работает как отдельная очередь сообщений, расположенная на диске. 

Kafka используется в ситуациях, где требуется:

  • передавать данные между сервисами без задержек;
  • собирать события от множества источников: сайтов, приложений, датчиков;
  • строить очереди заданий и процессы, реагирующие на события;
  • обрабатывать потоки логов, метрик, действий пользователей;
  • связывать микросервисы и упрощать их взаимодействие;
  • строить системы аналитики, реагирующие на изменения данных сразу после их появления.

Эта платформа надежно хранит сообщения, работает в кластере из нескольких серверов и масштабируется горизонтально. 

Что важно узнать перед установкой

  • Kafka работает на Java. Для запуска требуется установленный JDK, причем не любая версия подойдет. Современные релизы Kafka ориентируются на Java 17 и выше, поэтому важно убедиться, что система поддерживает актуальную версию.
  • Zookeeper обязателен в классических версиях. Большинство стабильных сборок Kafka, доступных в установщиках и пакетных менеджерах, все еще используют Zookeeper. Это отдельный сервис, который нужно запускать первым. 
  • Пути к данным должны быть постоянными. Встроенные пути вида /tmp или временные каталоги Windows приводят к потере данных и ошибкам. Чтобы избежать проблем, лучше заранее подготовить директорию для логов и рабочих файлов.
  • Свободные порты обязательны. По умолчанию Zookeeper использует порт 2181, Kafka – 9092. Если эти порты заняты, сервер не запустится, поэтому стоит проверить этот момент на конфликты заранее.
  • Система генерирует большие объемы логов. Kafka активно пишет данные на диск: логи работы, сегменты топиков, временные файлы. Поэтому на диске должно быть достаточно свободного места. 
  • Обновления и совместимость нужно заранее проверить. Новые версии Kafka могут требовать обновления Java, клиентов или конфигураций. Несовместимые версии приводят к ошибкам еще на этапе запуска.

Как установить и настроить Apache Kafka на Linux

Шаг 1. Подготовка системы и установка Java (JDK 17+)

Для начала нужно установить актуальную версию Java. Начиная с ветки 4.x, Kafka требует как минимум Java 17, поэтому более ранние версии не подойдут.

  1. Обновите список пакетов и выполните обновление системы:
sudo apt update
sudo apt upgrade -y
  1. Установите необходимую версию среды выполнения и компилятора Java:
sudo apt install default-jre
sudo apt install default-jdk

Как правило, в актуальных дистрибутивах Ubuntu пакеты default-jdk и default-jre уже соответствуют Java 17 или новее. При необходимости вы можете вручную установить JDK 17:

sudo apt install openjdk-17-jdk
  1. Проверьте установленную версию Java:
java -version

Если вывод содержит openjdk version "17" или выше, система готова для дальнейшей установки Kafka.

Шаг 2. Скачивание и распаковка Apache Kafka 4.1.1

  1. Перейдите в каталог, в котором вы хотите разместить Kafka:
cd /opt
  1. Скачайте архив с Apache Kafka версии 4.1.1:
wget https://downloads.apache.org/kafka/4.1.1/kafka_2.13-4.1.1.tgz
  1. Распакуйте архив:
tar xzf kafka_2.13-4.1.1.tgz

Появится директория:

kafka_2.13-4.1.1/
  1. Перейдите в нее:

cd kafka_2.13-4.1.1

Шаг 3. Запуск Kafka в режиме KRaft (без Zookeeper)

Начиная с ветки 4.x, Apache Kafka больше не использует Zookeeper. Вместо него применяется собственный механизм управления метаданными – KRaft. Перед первым запуском необходимо сгенерировать идентификатор кластера и отформатировать хранилище метаданных.

Сначала создайте уникальный идентификатор для вашего кластера:

bin/kafka-storage.sh random-uuid

Команда выведет строку наподобие:

8c4e4ad4-9cd2-4d09-9c16-1df33a36b4d2

Скопируйте этот UUID – он понадобится на следующем шаге.

Kafka должна создать внутреннее хранилище для управления кластером. Для этого выполните:

bin/kafka-storage.sh format \
  -t <ваш-UUID> \
  -c config/kraft/server.properties

Где <ваш-UUID> – строка, полученная ранее.
После форматирования Kafka будет готова к запуску.

Теперь запустите Kafka в режиме KRaft:

bin/kafka-server-start.sh config/kraft/server.properties

Если сервер запустился успешно, вы увидите сообщения о загрузке логгеров и инициализации сети. Kafka теперь работает без Zookeeper и готова принимать подключения.

Шаг 4. Проверка работоспособности Apache Kafka

После запуска Kafka важно убедиться, что сервер действительно работает и способен принимать и передавать сообщения. Для этого нужно выполнить три действия: создать тестовый топик, отправить в него сообщение и затем прочитать его обратно. 

Создайте простой топик с именем test-topic. В команде укажите одну партицию и коэффициент репликации 1. Репликация – это копирование данных на несколько брокеров для надежности, но при односерверной установке значение всегда равно 1:

bin/kafka-topics.sh --create \
  --topic test-topic \
  --partitions 1 \
  --replication-factor 1 \
  --bootstrap-server localhost:9092

Чтобы убедиться, что топик действительно создан, можно вывести список всех существующих топиков:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092

Если вы увидите test-topic в списке, значит сервер зарегистрировал новый канал данных.

Теперь отправьте в этот топик тестовое сообщение. Здесь используется простой продюсер, который берет текст из стандартного ввода (в нашем случае строку "hello kafka") и отправляет его на сервер:

echo "hello kafka" | bin/kafka-console-producer.sh \
  --topic test-topic \
  --bootstrap-server localhost:9092

Дальше нужно прочитать сообщение. Для этого используется консольный консьюмер – программа, которая подключается к топику и выводит все сообщения, начиная с первого. Флаг --from-beginning указывает, что нужно прочитать историю топика с самого начала:

bin/kafka-console-consumer.sh \
  --topic test-topic \
  --from-beginning \
  --bootstrap-server localhost:9092

Если в терминале появится строка hello kafka, значит Kafka приняла сообщение, сохранила его и успешно отдала обратно. 

Как установить и настроить Apache Kafka на macOS

Apache Kafka можно установить на macOS через менеджеру пакетов Homebrew. Он упрощает загрузку программ, автоматически решает зависимости и не требует прав администратора для большинства операций.

Шаг 1.1. Установка Homebrew

Если Homebrew на вашем Mac еще не установлен, начните с этого шага. Homebrew – это инструмент, который позволяет устанавливать приложения через терминал так же легко, как через App Store, только для программ разработчиков.

Чтобы установить Homebrew, откройте Терминал и выполните команду:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Шаг 1.2. Обновление Homebrew

Если Homebrew уже есть, обновите его, чтобы получить актуальные версии пакетов:

brew update

Шаг 2. Установка Java (JDK)

Apache Kafka работает на платформе Java, поэтому перед ее установкой необходимо установить JDK – комплект разработки Java. JDK включает в себя не только исполняемую среду (JRE), но и инструменты, которые позволяют запускать и обслуживать приложения на Java. Без него Kafka просто не запустится.

На macOS проще всего поставить Java через Homebrew, который вы уже подготовили.

Введите команду:

brew install openjdk

Homebrew скачает и установит нужную версию JDK, после чего вам останется только убедиться, что Java доступна системе. Проверьте это командой:

java -version

Если в ответ вы увидите номер версии, например openjdk 17, значит все в порядке. 

Шаг 3. Установка Apache Kafka

Теперь можно установить Kafka самой простой командой:

brew install kafka

Homebrew скачает Kafka и все необходимые файлы конфигурации, поместив их в /usr/local/etc/kafka/ или /opt/homebrew/etc/kafka/ – путь зависит от архитектуры процессора (Intel или Apple Silicon).

Шаг 4. Запуск Zookeeper и Kafka

Далее нужно запустить два сервиса: сначала Zookeeper, затем сам сервер Kafka. Zookeeper – это вспомогательная служба, которая помогает Kafka управлять своим состоянием: хранить информацию о брокере, топиках и распределении данных. Без него большинство версий Kafka работать не смогут, поэтому он всегда запускается первым.

Чтобы запустить Zookeeper, выполните команду (путь может отличаться, если у вас Apple Silicon):

zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties

Теперь откройте второе окно терминала и включите сервер Kafka:

kafka-server-start /usr/local/etc/kafka/server.properties

Kafka начнет загружать свои компоненты, проверит конфигурацию и откроет порт для подключения клиентов. Если все прошло успешно, вы увидите в терминале сообщения о старте брокера. 

Шаг 5. Что можно настроить в Kafka после установки

Все параметры Kafka находятся в файле server.properties. Он лежит в каталоге, который Homebrew указал при установке, чаще всего это /usr/local/etc/kafka/ или /opt/homebrew/etc/kafka/. Этот файл можно открыть любым текстовым редактором.

Один из ключевых параметров – это количество разделов в топиках. Разделы (или партиции) позволяют Kafka обрабатывать данные параллельно: каждый раздел – это как отдельный поток сообщений. Чем их больше, тем больше одновременных операций может выполнять Kafka, но и ресурсов понадобится больше.

Другой важный параметр – количество реплик. Реплика – это копия данных, которую Kafka хранит на случай сбоя. Если реплик несколько, кластер сможет пережить падение отдельных узлов. На одной машине смысла в репликации нет, поэтому по умолчанию используется одна копия.

Также в конфигурации указываются данные о самом брокере Kafka: его идентификатор, сетевые порты, директории для хранения логов и место, куда сохраняются сообщения. Все эти параметры можно менять в зависимости от того, хотите ли вы запускать Kafka в одиночном режиме или планируете расширяться до полноценного кластера.

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

Как установить и настроить Apache Kafka на Windows

Шаг 1. Установка Java 

Kafka работает на Java, поэтому сначала нужно установить JDK – комплект разработки Java. 

Перейдите на сайт Oracle или Adoptium (оба источника подходят) и скачайте установщик JDK для Windows. Лучше брать актуальную версию, например JDK 17 или новее – Kafka работает с ней без проблем. 

Запустите установщик и пройдите стандартные шаги: выбор пути, подтверждение установки и завершение.

После установки обязательно проверьте, что Java корректно прописалась в системе. Откройте командную строку (Win + R → cmd) и выполните:

java -version

Если в ответ появится строка с номером версии, например:

openjdk version "17.0.10"

Значит Java установлена и готова к работе.

Шаг 2. Скачивание и распаковка Apache Kafka

Перейдите на официальный сайт Apache Kafka в раздел Downloads. В списке доступных файлов выберите Binary downloads – это готовые к использованию сборки. Kafka распространяется в виде ZIP-архива, например:

kafka_2.13-4.1.1.zip

Скачайте архив и сохраните его в удобном месте, например в C:\Downloads или прямо на рабочем столе. Его нужно будет распаковать в постоянный каталог. 

Важно: скачивать нужно именно binary сборку, а не source. Binary-архив уже содержит все готовые скрипты, библиотеки и конфигурации, которые необходимы для запуска Kafka на Windows.

Поместите скачанный архив в эту директорию и распакуйте его любым удобным способом: встроенными средствами Windows или архиватором вроде 7-Zip. После распаковки внутри появится папка с названием вроде:

kafka_2.13-4.1.1

Внутри каталога расположена структура, с которой вы будете работать:

  • bin – набор исполняемых файлов и скриптов Kafka; в подпапке windows находятся .bat-файлы, предназначенные именно для Windows.
  • config – конфигурационные файлы, такие как server.properties и zookeeper.properties.
  • libs – библиотеки, необходимые для работы Kafka.
  • logs – логи работы сервера, которые помогут при диагностике.
  • site-docs – документация текущей версии Kafka.
  • LICENSE / NOTICE – правовая информация.

Распакованную папку стоит переименовать: задайте более короткое имя, например C:\kafka\kafka.

Шаг 3. Настройка путей для логов и данных

Kafka и Zookeeper по умолчанию используют временные каталоги наподобие /tmp для хранения логов и рабочих данных. В Windows такие директории не подходят: файлы могут удаляться, путь может оказаться недоступным, а работа сервера – нестабильной. Чтобы избежать проблем, стоит сразу перенастроить пути на постоянные каталоги.

Создайте удобную папку для хранения данных Kafka, например:

C:\kafka\data

Теперь откройте файл конфигурации Kafka:

config\server.properties

Найдите строку:

log.dirs=/tmp/kafka-logs

И замените путь на постоянный каталог:

log.dirs=C:/kafka/data/kafka-logs

Таким образом Kafka будет хранить журналы работы и данные топиков в стабильной директории.

Далее настройте Zookeeper. Откройте файл:

config\zookeeper.properties

И измените параметр:

dataDir=/tmp/zookeeper

На, например:

dataDir=C:/kafka/data/zookeeper

Шаг 4. Запуск Zookeeper и Kafka

Kafka, установленная на Windows, работает в связке с Zookeeper – это отдельный сервис, который отвечает за координацию работы брокеров. Поэтому запуск начинается именно с него. 

Откройте новое окно cmd и перейдите в корневую директорию Kafka, например:

cd C:\kafka\kafka_2.13-4.1.1

Для запуска Zookeeper выполните команду:

.\bin\windows\zookeeper-server-start.bat .\config\zookeeper.properties

Команда запустит процесс, который начнет слушать стандартный порт 2181. 

Окно закрывать нельзя – Zookeeper должен работать все время, пока запущена Kafka.

Далее откройте второе окно командной строки и перейдите в ту же директорию. Теперь запустите сам брокер Kafka:

.\bin\windows\kafka-server-start.bat .\config\server.properties

Если все настроено правильно, в терминале появится поток сообщений о загрузке модулей и инициализации сетевых соединений. Это означает, что сервер успешно запустился и готов принимать подключение продюсеров и консьюмеров.

Шаг 5. Тестирование

Работоспособность Kafka проще всего проверить через создание тестового топика и обмен сообщениями между продюсером и консьюмером. 

Начните с создания топика. Откройте новое окно командной строки, перейдите в каталог Kafka и выполните:

.\bin\windows\kafka-topics.bat — create — bootstrap-server localhost:9092 — partitions 1 — replication-factor 1 — topic TestTopic

Если команда отработала без ошибок, топик создан. Проверить его можно командой:

.\bin\windows\kafka-topics.bat --list --bootstrap-server localhost:9092

В списке должен появиться TestTopic.

Теперь можно отправить несколько сообщений. Для этого запустите продюсер:

.\bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic TestTopic

После запуска команда будет ожидать ввод. Напечатайте любую строку и нажмите Enter – сообщение уйдет в Kafka.

Чтобы увидеть отправленные данные, откройте еще одно окно командной строки и запустите консьюмер:

.\bin\windows\kafka-console-consumer.bat — bootstrap-server localhost:9092 — topic TestTopic — from-beginning

В терминале появятся все сообщения, которые вы отправили через продюсер. 

Если строки отображаются, значит Kafka полностью работоспособна: сервер запущен, топики создаются, сообщения принимаются и обрабатываются без ошибок.

Заключение

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

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

Предыдущая статья
Установка Zabbix на Ubuntu и Debian
Следующая статья
Установка и настройка Prometheus на Ubuntu 24.04