Как установить Apache Kafka на Ubuntu 22.04

12 set 2022 4 min di lettura
Как установить Apache Kafka на Ubuntu 22.04
Indice dei contenuti

Введение

Apache Kafka — это распределенная платформа потоковой передачи событий с открытым исходным кодом, разработанная Apache Software Foundation. Это написано на языках программирования Scala и Java. Вы можете установить Kafka на любую платформу, поддерживающую язык программирования Java.

В этом руководстве представлены подробные инструкции по установке Apache Kafka в системе Linux Ubuntu 22.04 LTS.

Предпосылки

У вас должен быть доступ с привилегированной учетной записью sudo к системе Linux Ubuntu 22.04.

Если вы хотите установить Apache Kafka на удаленный сервер, продолжайте чтение, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти в систему с другим именем пользователя, используя ту же команду, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Установить Java

Мы можем запустить сервер Apache Kafka в системах, поддерживающих Java. Поэтому убедитесь, что в вашей системе Ubuntu установлена ​​Java.

Используйте следующие команды для установки OpenJDK в вашей системе Ubuntu из официальных репозиториев:

sudo apt update
sudo apt install default-jdk

Проверьте текущую активную версию Java:

java --version
openjdk version "11.0.15" 2022-04-19
 OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
 OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)

Загрузите последнюю версию Apache Kafka

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

wget https://dlcdn.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz

Затем распакуйте загруженный файл архива и поместите его в каталог /usr/local/kafka:

tar xzf kafka_2.13-3.2.0.tgz
sudo mv kafka_2.13-3.2.0 /usr/local/kafka

Создание сценариев запуска Systemd

Теперь создайте юнит-файлы systemd для служб Zookeeper и Kafka. Это поможет вам легко запускать/останавливать службу Kafka.

Сначала создайте файл системного модуля для Zookeeper:

sudo nano /etc/systemd/system/zookeeper.service

И добавьте следующий контент:

[Unit]
 Description=Apache Zookeeper server
 Documentation=http://zookeeper.apache.org
 Requires=network.target remote-fs.target
 After=network.target remote-fs.target

 [Service]
 Type=simple
 ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties
 ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh
 Restart=on-abnormal

 [Install]
 WantedBy=multi-user.target

Сохраните файл и закройте его.

Затем создайте файл системного диска для службы Kafka:

sudo nano /etc/systemd/system/kafka.service

Добавьте содержимое ниже. Убедитесь, что вы указали правильный путь JAVA_HOME в соответствии с Java, установленной в вашей системе:

[Unit]
 Description=Apache Kafka Server
 Documentation=http://kafka.apache.org/documentation.html
 Requires=zookeeper.service

 [Service]
 Type=simple
 Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
 ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
 ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh

 [Install]
 WantedBy=multi-user.target

Сохраните файл и закройте.

Перезагрузите демон systemd, чтобы применить новые изменения:

sudo systemctl daemon-reload

Это перезагрузит все файлы systemd в системной среде.

Запустите службы Zookeeper и Kafka.

Давайте запустим обе службы по очереди. Сначала вам нужно запустить службу ZooKeeper, а затем запустить Kafka. Используйте команду systemctl для запуска экземпляра ZooKeeper с одним узлом.

sudo systemctl start zookeeper
sudo systemctl start kafka

Проверьте статусы обоих сервисов:

sudo systemctl status zookeeper
sudo systemctl status kafka

Это все. Вы успешно установили сервер Apache Kafka в системе Ubuntu 22.04. Далее мы создадим темы на сервере Kafka.

Создайте тему в Кафке

Kafka предоставляет несколько предопределенных сценариев оболочки для работы. Сначала создайте тему с именем «testTopic» с одним разделом и одной репликой:

cd /usr/local/kafka
bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic testTopic
Created topic testTopic.

Здесь:

  • Используйте параметр --create для создания новой темы
  • Опция --replication-factor описывает, сколько копий данных будет создано. Поскольку мы работаем с одним экземпляром, оставьте это значение равным 1.
  • Установите параметры --partitions как количество брокеров, между которыми вы хотите разделить ваши данные. Поскольку мы работаем с одним брокером, оставьте это значение равным 1.
  • Опция --topic определяет имя аргумента

Вы можете создать несколько аргументов, выполнив ту же команду выше. Затем вы можете увидеть аргументы, созданные в Kafka, выполнив следующую команду:

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

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

Отправка и получение сообщений в Kafka

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

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

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic testTopic
>Welcome to kafka
 >This is my first topic
 >

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

У Kafka также есть потребитель командной строки для чтения данных из кластера Kafka и отображения сообщений в стандартном выводе.

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning
Welcome to kafka
 This is my first topic

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

Вывод

Это руководство помогло вам установить и настроить сервер Apache Kafka в системе Linux Ubuntu 22.04. Кроме того, вы узнали, как создать новую тему на сервере Kafka и запустить пример процесса производства и потребления с помощью Apache Kafka.

Support us with a

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.