Эта статья посвящена введению в Apache Kafka и содержит инструкции по установке и настройке Apache Kafka в среде Windows, а также созданию потребителей и производителей Kafka.

Apache Kafka и ключевые термины

Apache Kafka - это распределенная потоковая платформа, которая позволяет отправлять и подписываться на поток данных. Apache Kafka быстрый, масштабируемый, надежный и отказоустойчивый. Кроме того, он может управлять большими объемами данных и может использоваться для обработки данных в реальном времени.

Ключевые термины

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

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

1. Установите Java JDK 8 для среды Windows по следующей ссылке:



2. Загрузите Apache Kafka по ссылке ниже:



3. Разархивируйте загруженный файл «kafka_2.13–2.8.0.tgz» в среде Windows.

4. Измените путь к журналу в файле ‘server.properties’.

Найдите ключевое слово 'log.dirs' в файле 'server.properties' и обновите местоположение до расположение распакованной папки 'C: \ kafka_2.13–2.8.0'.

Теперь давайте рассмотрим следующие команды, чтобы запустить сервер Apache Kafka вместе с потребителями и производителями для темы.

3. Запуск сервера Apache Zookeeper

Apache Zookeeper действует как централизованная служба, используемая для поддержки именования, данных конфигурации и обеспечивает синхронизацию в распределенных системах. Apache Zookeeper отслеживает статус узлов кластера Kafka, а также отслеживает темы, разделы и т. Д. Kafka. Apache Zookeeper позволяет нескольким клиентам выполнять одновременное чтение и записывает и действует как общая служба конфигурации в системе. Протокол ZAB (Zookeeper atomic broadcast) действует как мозг для всей системы, позволяя ей действовать как атомарная широковещательная система и выпускать упорядоченные обновления.

Давайте запустим Apache Zookeeper Server в нашей среде Windows.

Перейдите в папку ‘C: \ kafka_2.13–2.8.0 \ bin \ windows’.

Откройте командную строку из этого места ‘C: \ kafka_2.13–2.8.0 \ bin \ windows’, и выполните следующее:

C:\kafka_2.13-2.8.0\bin\windows>zookeeper-server-start.bat ../../config/zookeeper.properties

Приведенная выше команда успешно запустит сервер Apache Zookeeper в нашей среде Windows, он будет использовать параметры конфигурации, определенные в 'C: \ kafka_2.13–2.8.0 \ config \ zookeeper.properties'.

** Помните, Apache Zookeeper Server будет работать на порту: 2181

Теперь давайте запустим наш сервер Apache Kafka.

4. Запуск сервера Apache Kafka

Чтобы запустить сервер Apache Kafka, Apache Zookeeper должен работать в фоновом режиме.

Откройте другую командную строку из этого места ‘C: \ kafka_2.13–2.8.0 \ bin \ windows’ и выполните следующее:

C:\kafka_2.13–2.8.0\bin\windows>kafka-server-start.bat ../../config/server.properties

Приведенная выше команда успешно запустит сервер Apache Kafka в нашей среде Windows, при этом будут использоваться параметры конфигурации, определенные в 'C: \ kafka_2.13–2.8.0 \ config \ server.properties'.

** Помните, что сервер Apache Kafka будет работать на порту: 9092

5. Создание тем Kafka

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

Поскольку каждое отправленное или полученное сообщение относится к определенной теме, изначально нам нужно создать тему перед созданием Потребителя или Создателя.

Откройте другую командную строку из этого места ‘C: \ kafka_2.13–2.8.0 \ bin \ windows’ и выполните следующее:

kafka-topics.bat — create — zookeeper localhost:2181 — replication-factor 1 — partitions 1 — topic noobtopic

Мы создали один сервер Kafka, поэтому мы установим 'replication-factor' равным 1, и нам нужно создать единственный ' раздел ' (как 1). Перечислим тему, созданную с помощью приведенной ниже команды.

kafka-topics.bat — list — zookeeper localhost:2181

6. Создание продюсеров Kafka

Мы создали тему Kafka на предыдущем шаге. noobtopic теперь создаст Producer, который будет передавать данные в поток тем. Производитель будет создавать записи, которые затем будут добавлены на сервер Kafka как записи для указанной темы.

Откройте другую командную строку из этого места ‘C: \ kafka_2.13–2.8.0 \ bin \ windows’ и выполните следующее:

kafka-console-producer.bat --broker-list localhost:9092 --topic noobtopic

Выполнив указанную выше команду, мы создаем производителя для темы ‘noobtopic’. Производитель теперь может начать добавлять запись в эту тему.

7. Создание потребителя Kafka

Записи / данные, добавленные производителем, могут быть использованы потребителем, который подписан на ту же тему. Теперь давайте создадим Потребителя для потребителя записей из созданной темы «noobtopic».

Откройте другую командную строку из этого места ‘C: \ kafka_2.13–2.8.0 \ bin \ windows’ и выполните следующее:

kafka-console-consumer.bat — bootstrap-server localhost:9092 — topic noobtopic

Поскольку мы создали Потребителя, мы можем потреблять входящий поток данных от Производителя. Кроме того, мы могли бы создать несколько Потребителей для 'topic', всякий раз, когда производитель добавляет запись в тему, потребитель может получить опубликованные данные.

Теперь давайте рассмотрим процесс добавления записи.

Вывод

Надеюсь, вы получили базовое представление об Apache Kafka и процессе установки и настройки сервера Kafka в среде Windows.

Спасибо за чтение! 😊 Ты больше не новичок

Оставайтесь на связи, чтобы узнать больше.

Использованная литература: