Инструменты Kafka не запускаются на Ubuntu 18.04

Вопрос или проблема

Я установил kafkatools с http://www.kafkatool.com/download.html в Ubuntu 18.04. Установка прошла нормально, но когда я на него нажимаю, ничего не происходит. Я устанавливал несколько раз на разных устройствах, но у меня действительно нет никакого представления о том, что происходит.

Сначала я установил openjdk-8-jdk, kafkatools, а затем установил zookeeper и kafka, и я удалил kafkatools и переустановил его, но проблема сохраняется.

Kafka — это распределенная потоковая платформа. Она полезна для создания конвейеров потоковых данных в реальном времени для передачи данных между системами или приложениями. Еще одной полезной функцией являются приложения потоковой передачи в реальном времени, которые могут преобразовывать потоки данных или реагировать на поток данных. Этот ответ поможет вам установить Apache Kafka на Ubuntu 16.04 и позже.

1. Установите Java

Apache Kafka требует Java для работы. У вас должна быть установлена Java на вашей системе. Выполните следующую команду, чтобы установить стандартный OpenJDK на свою систему из официальных репозиториев Ubuntu. Вы также можете установить конкретную версию отсюда.

sudo apt update
sudo apt install openjdk-8-jdk

2. Скачайте Apache Kafka

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

wget http://www-us.apache.org/dist/kafka/2.4.0/kafka_2.13-2.4.0.tgz

Затем распакуйте архивный файл.

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

В качестве альтернативы, скачайте двоичный файл отсюда:
https://kafka.apache.org/downloads

Примечание: установка из snap не сработала на Ubuntu 22.04

3. Настройте файлы единиц systemd для Kafka

Далее создайте файлы единиц systemd для службы Zookeeper и Kafka. Это поможет управлять службами Kafka для их запуска/остановки с помощью команды systemctl.

Сначала создайте файл единицы systemd для Zookeeper с помощью следующей команды:

vim /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

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

Затем создайте файл единицы systemd для 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-1.11.0-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, чтобы применить новые изменения.

systemctl daemon-reload

4. Запустите сервер Kafka

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

sudo systemctl start zookeeper

Теперь запустите сервер Kafka и посмотрите статус выполнения:

sudo systemctl start kafka
sudo systemctl status kafka

введите описание изображения здесь

Все готово. Установка Kafka успешно завершена. Следующая часть этого ответа поможет вам работать с сервером Kafka.

5. Создайте тему в Kafka

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

cd /usr/local/kafka
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic testTopic
Создана тема testTopic.

Фактор репликации описывает, сколько копий данных будет создано. Поскольку мы работаем с одним экземпляром, оставьте это значение равным 1.

Установите опции партиций в соответствии с количеством брокеров, между которыми вы хотите разделить ваши данные. Поскольку мы работаем с одним брокером, оставьте это значение равным 1.

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

bin/kafka-topics.sh --list --zookeeper localhost:2181
testTopic
TecAdminTutorial1
TecAdminTutorial2

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

6. Отправка сообщений в Kafka

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

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

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

> Добро пожаловать в kafka
> Это моя первая тема

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

7. Использование потребителя Kafka

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

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic testTopic --from-beginning
Добро пожаловать в kafka
Это моя первая тема

Теперь, если у вас все еще работает продюсер Kafka (Шаг 6) в другом терминале, просто введите любой текст в терминале продюсера. Он немедленно будет виден в терминале потребителя. Смотрите ниже скриншот работы продюсера и потребителя Kafka:

введите описание изображения здесь

Источник: Как установить Apache Kafka на Ubuntu 18.04 и 16.04

Ответ или решение

Если инструменты Kafka (KafkaTool) не запускаются на Ubuntu 18.04, это может быть связано с несколькими причинами, начиная от неправильной конфигурации окружения до отсутствия необходимых зависимостей. Рассмотрим шаги по диагностике и устранению проблем в этой ситуации.

1. Убедитесь, что Java установлена правильно

Apache Kafka требует наличия установленной Java. Поскольку вы уже установили OpenJDK 8, убедитесь, что переменная окружения JAVA_HOME указана корректно. Для этого выполните следующую команду в терминале:

echo $JAVA_HOME

Если переменная не установлена или указывает на неправильный путь, добавьте в ваш файл .bashrc или .profile следующее:

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

После этого выполните:

source ~/.bashrc

2. Проверка установленных зависимостей

KafkaTool может нуждаться в дополнительных библиотеках и зависимостях. Убедитесь, что вы установили все необходимые компоненты:

sudo apt update
sudo apt install openjdk-8-jdk

Также возможно, что требуется установка libgconf-2-4 и других библиотек:

sudo apt install libgconf-2-4

3. Проверка логов приложения

Если приложение запускается, но не отображается графический интерфейс, попробуйте запустить KafkaTool из терминала:

/path/to/kafkatool

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

4. Установка и запуск Zookeeper и Kafka

Убедитесь, что Zookeeper и Kafka корректно настроены и работают:

  1. Запустите Zookeeper:
sudo systemctl start zookeeper

Проверьте его статус:

sudo systemctl status zookeeper

Если Zookeeper запущен, запустите Kafka:

sudo systemctl start kafka

5. Desktop Environment и разрешения

Проверьте, установлен ли у вас графический интерфейс рабочего стола (Desktop Environment), поскольку KafkaTool требует рабочего окружения для отображения GUI:

  • Убедитесь, что установлен и настроен композитный менеджер, такой как Xorg или Wayland.

6. Повторная установка KafkaTool

Если указанные шаги не помогли, попробуйте удалить все компоненты KafkaTool и повторно установить его:

  1. Удалите KafkaTool:
sudo rm -rf /path/to/kafkatool
  1. Загрузите последнюю версию с официального сайта.
  2. Распакуйте и установите.

7. Проверка версия Java и KafkaTool

Иногда несовместимость версий Java и KafkaTool может приводить к проблемам с запуском. Убедитесь, что вы используете совместимые версии Java и KafkaTool, так как новые версии могут содержать изменения, которые могут вызвать конфликты.

Заключение

Следуя вышеописанным шагам, вы сможете устранить возможные проблемы с запуском KafkaTool на Ubuntu 18.04. Проверяйте логи программы для более детальной информации об ошибках и используйте терминал для диагностики. Если ни один из методов не помог, рекомендуется посетить форумы поддержки или специальное сообщество пользователей Kafka, где вы можете получить помощь от других специалистов.

Оцените материал
Добавить комментарий

Капча загружается...