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

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

 

В этом руководстве мы покажем вам, как установить Apache Kafka в Ubuntu 20.04 LTS. Для тех из вас, кто не знал, Kafka — это самое популярное программное обеспечение с открытым исходным кодом, которое обеспечивает основу для хранения, чтения и анализа потоковых данных. Kafka изначально была разработана LinkedIn, а в начале 2011 года ее исходный код будет открыт в рамках Apache Software Foundation.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить ‘ sudo‘ к командам для получения привилегий root. Я покажу вам пошаговую установку Apache Kafka на Ubuntu 20.04 (Focal Fossa). Вы можете следовать тем же инструкциям для Ubuntu 18.04, 16.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint.

Установите Apache Kafka на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие aptкоманды в терминале.

sudo apt update
sudo apt upgrade

Шаг 2. Установка Java.

Apache Kafka требует, чтобы на вашем сервере была установлена ​​Java. Выполните следующую команду, чтобы установить OpenJDK в системе Ubuntu:

sudo apt install openjdk-11-jdk

Проверьте версию Java, выполнив следующую команду:

$ java -version

java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b07, mixed mode)

Шаг 3. Установка Apache Kafka в Ubuntu 20.04.

Теперь скачиваем последнюю версию Kafka на официальном сайте :

wget https://downloads.apache.org/kafka/2.6.0/kafka_2.13-2.6.0.tgz

Затем разархивируйте архивный файл и перейдите в другое место:

sudo tar xzf kafka_2.13-2.6.0.tgz
sudo mv kafka_2.13-2.6.0 /opt/kafka

Шаг 4. Создайте файлы модулей Zookeeper и Kafka Systemd.

Создайте файл модуля systemd для службы zookeeper:

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

Добавьте следующие строки:

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

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

[Install]
WantedBy=multi-user.target

Затем создайте файл модуля systemd для службы Kafka:

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

Добавьте следующие строки:

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

[Service]
Type=simple
Environment="JAVA_HOME=/opt/jdk/jdk1.8.0_251"
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh

[Install]
WantedBy=multi-user.target

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

sudo systemctl daemon-reload
sudo systemctl enable --now zookeeper
sudo systemctl enable --now kafka

Шаг 5. Создание темы в Kafka.

Теперь мы создадим тему с именем «idroot» с одним фактором репликации и разделом:

cd /opt/kafka
sudo bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-f

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

sudo bin/kafka-console-producer.sh --broker-list localhost:9092 --topic idoot

Предлагается ввести сообщения:

> Hi
> How are you?

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

sudo bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic idroot --from-beginning

Шаг 6. Подключить Kafka с удаленных машин.

Для подключения, создания темы и отправки сообщений с удаленного сервера. Пожалуйста, выполните следующие шаги:

cd /opt/kafka/config

Теперь найдите server.properties и внесите некоторые изменения в конфигурацию:

sudo nano server.properties
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://<HOST IP>:9092

Поздравляю! Вы успешно установили Apache Kafka . Благодарим за использование этого руководства по установке Apache Kafka в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Apache Kafka .