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.