Теперь, когда мы изучили устройство Kafka и работу Zookeeper, настало время установить и настроить Kafka на локальной машине.
Что потребуется для работы Kafka?
Необходимое ПО:
- Java: Kafka написана на Java, поэтому вам нужно установить Java Development Kit (JDK) версии 8 или выше.
- Zookeeper: это "дирижёр" Kafka, который управляет координацией брокеров. Kafka не может функционировать без него.
- Apache Kafka: конечно, сама платформа Kafka.
Перед установкой убедитесь, что у вас установлен JDK. Чтобы проверить, выполните команду:
java -version
Если Java не установлена, скачайте и установите OpenJDK или Oracle JDK.
Установка Apache Kafka
Шаг 1: Скачивание Kafka
Перейдите на официальную страницу Apache Kafka и скачайте последнюю стабильную версию Kafka. Обычно это архив в формате tar.gz.
Шаг 2: Распаковка архива
Распакуйте скачанный архив в удобный для вас каталог. Например:
tar -xvf kafka_2.13-3.5.0.tgz
mv kafka_2.13-3.5.0 ~/kafka
cd ~/kafka
Запуск Zookeeper
Kafka требует Zookeeper для своей работы. В архивах Kafka предоставляется встроенный Zookeeper Server, так что вам не нужно скачивать его отдельно.
Zookeeper конфигурируется через файл config/zookeeper.properties. Запустите Zookeeper с помощью следующей команды:
bin/zookeeper-server-start.sh config/zookeeper.properties
Вы увидите консольный лог, сообщающий, что Zookeeper успешно запущен и ждёт подключения.
Запуск брокера Kafka
Теперь, когда Zookeeper запущен, можно запустить Kafka Broker.
Шаг 1: Конфигурация Kafka Broker
Kafka Broker конфигурируется через файл config/server.properties. Можно использовать настройки по умолчанию.
Шаг 2: Запуск брокера
Для запуска выполните команду:
bin/kafka-server-start.sh config/server.properties
После успешного запуска брокера вы увидите лог, в котором Kafka будет сообщать, что готова принимать сообщения.
Работа с топиками и сообщениями
Шаг 1: Создание топика
Топики — это логические контейнеры сообщений в Kafka. Создаём тестовый топик:
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
--topic test-topic: Имя топика.--partitions 1: Количество партиций.--replication-factor 1: Указывает, что сообщения не будут реплицироваться.
Вы увидите сообщение о том, что топик успешно создан.
Шаг 2: Проверка списка топиков
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
Вы должны увидеть test-topic в списке.
Отправка и получение сообщений
Шаг 1: Отправка сообщений
Откроем терминал и запустим продюсер Kafka, который будет отправлять сообщения в test-topic:
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
Введите несколько сообщений, например:
Привет, Kafka!
Сообщение 2
Сообщение 3
Шаг 2: Получение сообщений
Откроем ещё один терминал и запустим консьюмера Kafka, который будет получать сообщения из test-topic:
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
Вы должны увидеть все отправленные сообщения.
Теперь у вас есть рабочая Kafka, с которой можно экспериментировать!
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ