1. Для упрощения будем работать через Docker.
2. Создаем папку. В моем случае это D:\Kafka
3. Создаем в ней файл docker-compose.yml
4. Записываем конфигурацию:
services:
zookeeper:
image: confluentinc/cp-zookeeper:7.3.2
hostname: zookeeper
container_name: zookeeper
ports:
- "2181:2181"
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ZOOKEEPER_SERVER_ID: 1
ZOOKEEPER_SERVERS: zookeeper:2888:3888
kafka:
image: confluentinc/cp-kafka:7.3.2
hostname: kafka
container_name: kafka
ports:
- "9092:9092"
environment:
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://127.0.0.1:9092
KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9092
KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT
KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
KAFKA_ZOOKEEPER_CONNECT: "zookeeper:2181"
KAFKA_BROKER_ID: 1
KAFKA_LOG4J_LOGGERS: "kafka.controller=INFO,kafka.producer.async.DefaultEventHandler=INFO,state.change.logger=INFO"
KAFKA_AUTHORIZER_CLASS_NAME: kafka.security.authorizer.AclAuthorizer
KAFKA_ALLOW_EVERYONE_IF_NO_ACL_FOUND: "true"
KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 3
depends_on:
- zookeeper
5. Открываем папку в командной строке и выполняем команду поднятия контейнеров:
docker-compose up -d
Флаг -d означает, что запуск будет в фоновом режиме (терминал останется свободным).
Контейнеры поднялись!
6. Создадим топик:
docker exec -it kafka kafka-topics --create --topic topic1 --bootstrap-server localhost:9092 --partitions 3 --replication-factor 1
7. Помимо командной строки, для Кафки есть отдельный gui. Установим с официального сайта:
Offset Explorer a.k.a. Kafka Tool.
Cluster — Пишите имя вашего кластера
Bootstrap servers — 127.0.0.1:9092
Галочку Zookeeper ставим.
Host — 127.0.0.1
Port — 2181
8. Жмем Connect и изучаем интерфейс.
Понравился пост? Подписывайся, чтобы не пропустить следующий.
Артем Лещев
