Апачи Kafka - это распределенная платформа для потокового анализа данных, которая позволяет обрабатывать и анализировать большие объемы данных в режиме реального времени. Установка Kafka на операционной системе Ubuntu может представлять некоторую сложность, поэтому необходимо следовать определенным шагам для успешной установки и начала работы.
Первым шагом является установка Java Development Kit (JDK). Kafka работает на платформе Java, поэтому перед установкой необходимо убедиться, что JDK установлена на вашей системе. Вы можете проверить установленные пакеты JDK, выполнив команду java -version в терминале Ubuntu. Если JDK не установлена, выполните следующую команду для установки: sudo apt-get install default-jdk.
После успешной установки JDK можно приступить к установке Kafka. Скачайте последнюю версию Kafka с официального веб-сайта Apache Kafka. Для этого откройте терминал Ubuntu и выполните команду: wget https://www.apache.org/dyn/closer.cgi?path=/kafka/2.8.0/kafka_2.13-2.8.0.tgz.
Подготовка сервера
Перед установкой Kafka необходимо подготовить серверное окружение.
Первым шагом необходимо установить Java Development Kit (JDK). Для этого выполните следующую команду:
sudo apt-get update
sudo apt-get install default-jdk
После установки JDK необходимо установить ZooKeeper, который является зависимостью Kafka. Следуйте инструкциям ниже:
- Скачайте ZooKeeper с официального сайта и распакуйте архив:
- Переместите распакованную папку в /usr/local:
- Создайте копию файла конфигурации:
- Внесите необходимые изменения в файл конфигурации zoo.cfg:
- Добавьте следующую строку в конец файла:
- Сохраните и закройте файл.
wget https://mirror.linux-ia64.org/apache/zookeeper/zookeeper-X.X.X/zookeeper-X.X.X.tar.gz
tar -xvf zookeeper-X.X.X.tar.gz
sudo mv zookeeper-X.X.X /usr/local/zookeeper
cd /usr/local/zookeeper/conf
sudo cp zoo_sample.cfg zoo.cfg
sudo nano zoo.cfg
tickTime=2000
После установки ZooKeeper, можно приступить к установке Kafka.
Установка Java
Для установки Apache Kafka требуется предварительно установить Java на вашем сервере. В этом руководстве мы рассмотрим установку OpenJDK, бесплатной реализации Java Development Kit.
Выполните следующие шаги для установки Java:
- Откройте терминал и выполните команду:
- Установите пакет OpenJDK с помощью следующей команды:
- После установки можно проверить версию Java, запустив команду:
sudo apt update
sudo apt install openjdk-8-jdk
java -version
Поздравляю! Теперь Java установлена на вашем сервере и вы готовы к установке Apache Kafka.
Создание пользователя Kafka
Перед началом установки Apache Kafka потребуется создать специального пользователя, который будет использоваться для запуска и управления Kafka.
Для создания пользователя Kafka выполните следующие шаги:
- Откройте терминал. Вы можете это сделать, нажав клавиши Ctrl+Alt+T.
- Выполните команду:
sudo adduser kafka
- Введите пароль для нового пользователя. Убедитесь, что пароль достаточно сложный и надежный.
- Введите информацию о пользователе, такую как имя, номер телефона и т.д. Если вы не хотите предоставлять дополнительную информацию, просто нажмите Enter.
- Подтвердите введенную информацию.
- Дайте права sudo пользователю kafka. Для этого выполните команду:
sudo usermod -aG sudo kafka
Поздравляю! Теперь у вас есть пользователь Kafka, который будет использоваться для установки и управления Apache Kafka на Ubuntu.
Установка ZooKeeper
Для работы Kafka требуется установить и настроить ZooKeeper.
- Установите Java 8:
- Создайте директорию для установки ZooKeeper:
- Скачайте последнюю версию ZooKeeper с официального сайта:
- Извлеките скачанный архив в директорию ZooKeeper:
- Создайте файл конфигурации ZooKeeper:
- Редактируйте файл конфигурации и задайте следующие параметры:
- Создайте директорию для хранения данных ZooKeeper:
- Задайте права доступа к директории данных:
- Установите переменную окружения JAVA_HOME:
- Перезагрузите систему, чтобы изменения вступили в силу:
sudo apt update
sudo apt install openjdk-8-jdk
sudo mkdir /opt/zookeeper
sudo wget https://apache.org/dist/zookeeper/zookeeper-X.X.X/apache-zookeeper-X.X.X-bin.tar.gz
sudo tar -xvzf apache-zookeeper-X.X.X-bin.tar.gz -C /opt/zookeeper
sudo cp /opt/zookeeper/apache-zookeeper-X.X.X-bin/conf/zoo_sample.cfg /opt/zookeeper/apache-zookeeper-X.X.X-bin/conf/zoo.cfg
sudo nano /opt/zookeeper/apache-zookeeper-X.X.X-bin/conf/zoo.cfg
dataDir=/var/lib/zookeeper
clientPort=2181
sudo mkdir /var/lib/zookeeper
sudo chown -R ubuntu:ubuntu /var/lib/zookeeper
sudo nano /etc/environment
Добавьте следующую строку:
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
sudo reboot
Теперь у вас установлен и настроен ZooKeeper, необходимый для работы Kafka.
Скачивание и распаковка Kafka
Перед установкой Kafka необходимо скачать и распаковать дистрибутив. Выполните следующие шаги:
- Откройте терминал и перейдите в директорию, в которой будет располагаться Kafka.
- Скачайте Kafka с официального сайта командой:
wget http://mirror.linux-ia64.org/apache/kafka/2.7.1/kafka_2.13-2.7.1.tgz
В данном примере скачивается Kafka версии 2.7.1. Вы можете заменить ссылку на актуальную версию, если она отличается.
- Распакуйте архив, используя команду:
tar -xzf kafka_2.13-2.7.1.tgz
После выполнения этой команды в текущей директории появится папка с именем kafka_2.13-2.7.1, в которой содержатся файлы и директории Kafka.
Теперь у вас есть все необходимое для установки и запуска Kafka.
Настройка Kafka
После успешной установки Kafka необходимо выполнить несколько настроек, чтобы она правильно функционировала.
Шаг 1: Настройка ZooKeeper
Первым делом необходимо настроить ZooKeeper, так как Kafka требует его для своей работы. В файле конфигурации Kafka, который находится по пути /opt/kafka/config/server.properties, нужно указать адреса и порты всех узлов ZooKeeper, которые будут использоваться Kafka.
Пример:
zookeeper.connect=zookeeper1:2181,zookeeper2:2181,zookeeper3:2181
Шаг 2: Настройка брокеров
Далее необходимо настроить брокеров Kafka, чтобы они могли обмениваться сообщениями между собой. В файле конфигурации Kafka также нужно указать их адреса и порты.
Пример:
listeners=PLAINTEXT://kafka1:9092,PLAINTEXT://kafka2:9092,PLAINTEXT://kafka3:9092
Шаг 3: Настройка топиков
Топики в Kafka используются для организации сообщений. Для каждого топика нужно указать, на каких брокерах он будет распределен.
Пример:
replication.factor=3
Шаг 4: Запуск Kafka
После настройки всех параметров можно запустить Kafka командой:
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
После запуска Kafka будет готова к использованию.
Настройка запуска в качестве сервиса
Для удобства использования и автоматического запуска Kafka при старте системы можно настроить его как сервис. Это позволит управлять Kafka с помощью команд запуска/остановки/перезапуска, а также настраивать автоматический запуск при старте системы.
Для настройки запуска Kafka в качестве сервиса, следуйте указанным ниже шагам:
- Создайте файл
kafka.service
в директории/etc/systemd/system/
с помощью текстового редактора: - Добавьте в файл следующий код:
- Сохраните и закройте файл.
- Создайте пользователя kafka, используя следующую команду:
- Установите права доступа к директории Kafka:
- Перечитайте файлы конфигурации systemd командой:
- Запустите Kafka сервис:
- Установите автоматический запуск Kafka при старте системы:
sudo nano /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka
Documentation=http://kafka.apache.org/documentation.html
After=network.target
[Service]
Type=simple
User=kafka
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo useradd kafka -m
sudo chown -R kafka:nogroup /opt/kafka
sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka
Теперь вы можете использовать команды start
, stop
, restart
для управления Kafka сервисом.
Запуск Kafka
Чтобы запустить Kafka на вашем сервере Ubuntu, выполните следующие шаги:
- Откройте терминал и перейдите в каталог Kafka:
- Запустите ZooKeeper:
- Откройте новое окно терминала и запустите Kafka:
- Проверьте статус Kafka, чтобы убедиться, что он успешно запущен:
cd /opt/kafka
bin/zookeeper-server-start.sh config/zookeeper.properties
bin/kafka-server-start.sh config/server.properties
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
Теперь Kafka работает на вашем сервере Ubuntu. Вы можете начать использовать его для создания и обработки сообщений.
Проверка работы Kafka
После установки Kafka вы можете проверить, насколько успешно он работает. Вот несколько команд, которые могут вам помочь:
- Запустите сервер ZooKeeper, если он ещё не запущен:
zookeeper-server-start.sh config/zookeeper.properties
- Запустите брокер Kafka:
kafka-server-start.sh config/server.properties
- Создайте тестовую тему:
kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1
- Ознакомьтесь с информацией о созданной теме:
kafka-topics.sh --describe --topic test-topic --bootstrap-server localhost:9092
- Выполните запись сообщения в тему:
kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
. После запуска этой команды вы сможете ввести своё сообщение и отправить его в тему. - Прочитайте сообщения из темы:
kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
. Вы увидите все сообщения из темы, включая то, которое только что отправили.
Если все команды выполнились без ошибок и вы видите отправленное вами сообщение, значит, Kafka работает нормально.