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

Apache Kafka — это мощная платформа распределенной потоковой передачи событий с открытым исходным кодом, широко используемая для создания конвейеров данных в реальном времени и потоковых приложений. Она разработана для работы с высокой пропускной способностью и отказоустойчивостью, что делает ее незаменимым инструментом для современных архитектур данных. В этом руководстве вы узнаете, как установить Apache Kafka на Fedora 41 и обеспечить надежную настройку для ваших приложений, управляемых событиями.

Предварительные условия

Прежде чем приступить к процессу установки, убедитесь, что ваша система соответствует следующим предварительным требованиям:

  • Операционная система: Установлена и обновлена Fedora 41.
  • Требования к аппаратному обеспечению: Минимальные требования включают многоядерный процессор, не менее 4 ГБ оперативной памяти и достаточный объем памяти (рекомендуется 10 ГБ).
  • Пользовательские права: Доступ не рутового пользователя с привилегиями sudo.
  • Доступ в Интернет: Необходим для загрузки необходимых пакетов.
  • Эмулятор терминала: Установлен для работы с командной строкой.

Шаг 1: Обновление системы Fedora

Обновление системы очень важно для обеспечения безопасности и совместимости. Начните с обновления системы Fedora, чтобы убедиться, что все пакеты актуальны. Откройте терминал и выполните следующие команды:

sudo dnf clean all
sudo dnf update

Этот процесс обновит кэш менеджера пакетов и установит все доступные обновления.

Шаг 2: Установите среду выполнения Java (JRE)

Apache Kafka построен на Java, поэтому перед началом работы вам необходимо установить среду выполнения Java (JRE). Рекомендуемая версия — OpenJDK 17. Чтобы установить ее, выполните следующую команду в терминале:

sudo dnf install java-17-openjdk.x86_64

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

java --version

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

Шаг 3: Загрузите Apache Kafka

Следующим шагом будет загрузка последней версии Apache Kafka. Посетите официальную страницу загрузки Apache Kafka, чтобы найти последнюю версию. Кроме того, вы можете использовать `wget` для загрузки непосредственно из терминала. Замените `<VERSION>` и `<SCALA_VERSION>` на соответствующие значения:

wget https://downloads.apache.org/kafka/<VERSION>/kafka_<SCALA_VERSION>-<VERSION>.tgz

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

Шаг 4: Извлечение и перемещение файлов Kafka

После загрузки Kafka распакуйте tarball с помощью следующей команды:

tar -xzf kafka_<SCALA_VERSION>-<VERSION>.tgz

Это создаст новую директорию, содержащую все файлы Kafka. Для лучшей организации переместите этот каталог в `/opt`:

sudo mv kafka_<SCALA_VERSION>-<VERSION> /opt/kafka

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

sudo chown -R $USER:$USER /opt/kafka

Шаг 5: Настройка переменных окружения

Настройка переменных окружения облегчает запуск команд Kafka из любой терминальной сессии. Для этого отредактируйте файл `/etc/environment` следующим образом:

sudo nano /etc/environment

Добавьте эти строки в конец файла:

KAFKA_HOME=/opt/kafka
PATH=$PATH:$KAFKA_HOME/bin

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

source /etc/environment

Вы можете убедиться в правильности конфигурации, проверив, правильно ли задан `$KAFKA_HOME`:

echo $KAFKA_HOME

Шаг 6: Настройка Zookeeper

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

$KAFKA_HOME/bin/zookeeper-server-start.sh $KAFKA_HOME/config/zookeeper.properties

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

Шаг 7: Настройка и запуск сервера Kafka

Редактирование свойств сервера

Следующий шаг включает в себя настройку свойств сервера Kafka. Откройте файл `server.properties` для редактирования:

nano /opt/kafka/config/server.properties

Вам нужно будет изменить несколько ключевых конфигураций в этом файле:

ID брокеров:
broker.id=0
Директории журналов:
log.dirs=/tmp/kafka-logs
Строка подключения Zookeeper:
zookeeper.connect=localhost:2181

Эта конфигурация устанавливает один экземпляр брокера с указанным каталогом журналов, в котором будут храниться сообщения.

Запуск сервера Kafka

Теперь вы можете запустить сервер Kafka в автономном режиме с помощью этой команды:

$KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties &

Амперсанд (`&`) в конце запускает его в фоновом режиме, чтобы вы могли продолжить работу с терминалом.

Проверка установки

Чтобы убедиться, что Kafka работает правильно, вы можете проверить активные процессы или просмотреть файлы журналов, расположенные в `/tmp/kafka-logs`. Если все настроено правильно, вы должны увидеть записи, указывающие на успешный запуск Kafka.

Шаг 8: Создание служебных файлов Systemd

Если вы хотите, чтобы Kafka и Zookeeper запускались автоматически при загрузке, лучше всего создать служебные файлы systemd для обеих служб.

Конфигурация службы Zookeeper

Создайте новый файл службы systemd для Zookeeper:

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

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

[Unit]
Description=Apache Zookeeper Server

[Service]
ExecStart=/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties

[Install]
WantedBy=multi-user.target
        

Конфигурация службы Kakfa

Создайте новый файл службы systemd для Kafka:

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

Добавить этот контент:

[Unit]
Description=Apache Kafka Server

[Service]
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties

[Install]
WantedBy=multi-user.target

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

sudo systemctl daemon-reload
sudo systemctl enable zookeeper.service kafka.service

Шаг 9: Проверка установки Apache Kafka

Создайте тему

Следующим шагом будет создание тестовой темы с именем `test-topic`. Эта тема будет использоваться для отправки и получения сообщений. Используйте эту команду для ее создания:

$KAFKA_HOME/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test-topic

Производство сообщений

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

$KAFKA_HOME/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic

Вы можете вводить сообщения непосредственно в этой консоли; для отправки сообщения нажмите Enter после каждого сообщения.

Потребление сообщений

Последним шагом в тестировании вашей установки является потребление сообщений из `test-topic`. Откройте другое окно терминала и выполните эту команду:

$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning

Эта команда отобразит все сообщения, отправленные на `test-topic`, что позволит вам убедиться, что все работает правильно.

Поздравляем! Вы успешно установили Apache Kafka. Для получения дополнительной или полезной информации мы рекомендуем вам посетить официальный сайт Apache.

Поделитесь с друзьями

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

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x