Установка Kafka на свой сервер или в облаке: коротко и с данными
Конспект страницы: 7 разделов коротко, данные на 14 октября 2026 и ответы на 4 вопроса. Полный разбор с примерами: Установка Kafka на свой сервер или в облаке.
Коротко
Установка Kafka на сервер в ветке 4.x обходится без ZooKeeper: брокеру нужны Java 17 или новее, одна команда форматирования хранилища и порт 9092 для клиентов. Самая частая ошибка новичков в другом: клиенты подключаются, но получают чужой адрес из-за неверного advertised.listeners. Если администрировать кластер некому, у провайдера есть управляемая Kafka.
Конспект по разделам
Для чего нужна Kafka и чем она отличается от RabbitMQ
Kafka хранит поток событий как журнал: сообщения пишутся в темы (topics), делятся на разделы (partitions) и лежат на диске заданный срок, даже когда их уже прочитали. Новый читатель может вернуться к началу потока и прочитать всё заново. Так Kafka используют для логов, событий приложения, переноса данных между системами и аналитики.
Где запускать Kafka: свой VPS или управляемая Kafka
Один брокер подходит для разработки и тестов, но при его отказе сообщения недоступны. Для рабочей среды используют не меньше трёх брокеров. Управляемый кластер снимает эту задачу, а приватная сеть провайдера не берёт плату за внутренний трафик.
Установка Kafka на Linux: архив, Java 17 и режим KRaft
Начиная с ветки 4.0 Kafka работает без ZooKeeper: брокер сам хранит метаданные кластера в режиме KRaft. Инструкции с ZooKeeper относятся к старым выпускам, на новых они не нужны. Для постоянной работы оформите запуск службой systemd, чтобы брокер поднимался после перезагрузки.
- Поставьте Java 17 или новее, например пакет OpenJDK из репозитория.
- Скачайте архив с kafka.apache.org и распакуйте его в рабочий каталог.
- Создайте идентификатор кластера и отформатируйте хранилище: без этого брокер не запустится.
- Запустите брокер и создайте тестовую тему.
Kafka в Docker: образ apache/kafka и адрес для клиентов
У проекта есть официальный образ apache/kafka с тегом нужной версии, внутри которого уже собран режим KRaft. Для проверки достаточно одной команды: Такой брокер объявляет себя клиентам как localhost:9092, поэтому он доступен только с того же сервера. Если приложение работает в другом контейнере или на другом сервере, брокеру нужен свой адрес: задайте параметр advertised.listeners с именем или IP, по которому клиент реально достучится.
Сколько памяти и диска нужно Kafka
Куча JVM у брокера по умолчанию равна 1 ГБ, остальная память нужна файловому кэшу операционной системы: Kafka читает и пишет последовательно, и кэш делает это быстрым. Поэтому на сервере с 4 ГБ не отдавайте всю память Java. Три ответа про поток сообщений, калькулятор подберёт конфигурацию
- Диск: поток данных в сутки, умноженный на срок хранения в днях и на число копий каждого раздела.
- Срок хранения: задаётся параметрами log.retention.hours и log.retention.bytes, что наступит раньше, то и сработает.
- Разделы: их число определяет параллелизм читателей; начинайте с небольшого числа и увеличивайте по мере роста.
Как защитить Kafka и копировать её данные
По умолчанию брокер принимает подключения без шифрования и без проверки логина. Порт 9092 не публикуют в интернет: приложения в одной приватной сети ходят по внутреннему адресу, внешним клиентам включают TLS и SASL и открывают порт только нужным адресам. Копий в виде одного файла у Kafka нет: данные хранятся в нескольких копиях разделов на разных брокерах, а рабочие данные дублируют в другое хранилище.
Отдайте базу данных провайдеру
Обновления, мониторинг и резервные копии делает провайдер, вы работаете с подключением.
- PostgreSQL, MySQL, MongoDB от 790 ₽
- Valkey (совместим с Redis) от 670 ₽
- Kafka, RabbitMQ, ClickHouse, OpenSearch
- Автобэкапы 6 ₽ в месяц за ГБ
Данные
| Маршрут | Что делаете вы | Цена на 14 октября 2026 |
|---|---|---|
| Свой VPS, архив или Docker | Ставите Java, форматируете хранилище, настраиваете адреса, следите за диском и обновлениями | Сервер от 1 920 ₽ в месяц; для старта разумно 4 ГБ, это MSK Ultra 50 за 5 480 ₽ |
| Управляемая Kafka в Таймвеб Клауд | Создаёте кластер, получаете адреса брокеров | От 2 900 ₽ в месяц, публичный IP 200 ₽ |
Данные на 14 октября 2026. Цены приведены для ознакомления и могут отличаться от актуальных. Перед покупкой проверяйте их на сайте провайдера.
Вопросы и ответы
Как развернуть Kafka в Docker?
Запустите образ apache/kafka с нужным тегом и пробросьте порт 9092 на 127.0.0.1. Если клиенты на другом сервере, задайте advertised.listeners с внешним адресом брокера, иначе подключение не заработает.
Нужен ли ZooKeeper для Kafka?
В ветках 4.x нет: брокер хранит метаданные сам в режиме KRaft. ZooKeeper нужен только в старых выпусках, и инструкции с ним в новых версиях не работают.
Как установить Kafka на Windows?
Запускайте брокер в WSL2 или в контейнере Docker Desktop с Java 17 или новее. Для рабочей среды берите Linux, на нём проще службы и копии.
Сколько брокеров Kafka нужно для рабочей среды?
Не меньше трёх, чтобы потеря одного не останавливала запись и чтение. Один брокер подходит для разработки.