Producer + Consumer для Apache Kafka с веб-интерфейсом на Streamlit.
Песочницу, виртуальный сервер на Ubuntu, можно сделать по инструкции https://pverofeev.gitverse.site/sandbox/
Установим OpenJDK 11
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-11-jdk -y
Cкачаем архив Apache Kafka через wget, разархивируем его и переместим в /opt/kafka
wget https://archive.apache.org/dist/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xvzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0 /opt/kafka
Проверяем JAVA_HOME
echo "export JAVA_HOME=$(dirname $(dirname $(readlink -f $(which javac))))" >> ~/.bashrc
echo "export PATH=\$PATH:\$JAVA_HOME/bin" >> ~/.bashrc
source ~/.bashrc
Запуск ZooKeeper
/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zookeeper.properties
Запуск Kafka
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
Для управления Apache Kafka запустим в докере Kafka-UI. После запуска Kafka-UI будет доступна на http://localhost:8080
docker run -p 8080:8080 \
-e DYNAMIC_CONFIG_ENABLED=true \
provectuslabs/kafka-ui:latest
# 1. Клонировать проект
git clone https://gitverse.ru/pverofeev/StreamlitKafka.git
# 2. Установить зависимости
pip install -r requirements.txt
# 3. Запустить
streamlit run app.py
В app.py измените:
KAFKA_BOOTSTRAP_SERVERS = ['192.168.1.161:9092'] # Ваш кластер Apache Kafka
TOPIC_NAME = 'test-topic' # Ваш топик. Создать можно через Kafka-UI