Skip to content

Latest commit

 

History

History

kafka_wsl

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Как поставить Apache kafka на Windows Linux

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

Без докера

  1. Необходимо скачать apache kafka с официального сайта
  2. Рекомендую на диске С создать папку kafka_logs с папками для записи логов

  1. Откроем zookeeper.properties изменим параметр записи логов по созданному выше пути

  1. Аналогично откроем откроем server.properties изменим zookeeper.connection.timeout.ms=60000 и пропишем путь к лог файлу

  1. Скачаем Java Важно, чтобы в пути, по которому вы скачиваете Java не было пробелов, чтоюы избежать проблемы запуска в дальнейшем
  2. В вашем компьютере по пути: Система -> Дополнительные параметры системы -> Дополнительно -> Переменные среды Необходимо добавить в PATH путь к Java, а также переменную JAVA_HOME с путём к JAVA

  1. Создайте проект и убедитесь, что Java доступна

  1. Start Zookeeper: C:/kafka_2.12-3.2.0/bin/windows/zookeeper-server-start.bat C:/kafka_2.12-3.2.0/config/zookeeper.properties

  1. Start kafka: Start Kafka-server: C:/kafka_2.12-3.2.0/bin/windows/kafka-server-start.bat C:/kafka_2.12-3.2.0/config/server.properties

  1. Не забудьте изменить путь под вашу версию кафки. Готово!

С докером

  1. Скачайте докер и WSL2 (В Docker desktop будет ссылка)
  2. Рекомендую ознакомиться с документацией
  3. В корень проекта, в котором вы будете работать поместить конфигурационный файл

  1. docker-compose.yml делается похоже на ручной запуск из первого пункта. Вот моё готовое решение:
  2. В папке проекта напишите docker compose up -d
  3. В docker должны появиться созданные контейнеры

также можно проверить через docker ps

Готово. Успешной работы!

Пример работы с Кафкой

Перед началом работы ознакомьтесь с документацией

  1. Необходимо создать проект в pyCharm
  2. Вам понадобитмя библиотека для работы с кафкой pip install kafka-python
  3. Из библиотеки рекомендую использовать следующие методы from kafka import KafkaProducer, KafkaConsumer
  4. Пример функции отправки сообщения в кафку
def sendKafka():
    my_producer = KafkaProducer(
        bootstrap_servers=['localhost:29092'],
        value_serializer=lambda x: dumps(x).encode('utf-8')
    )

    message = "1"
    while message != "0":
        message = input("Type your message: ")
        my_producer.send("testnum", value=message)
        getKafka()
  1. Пример функции получения сообщения из кафки
def getKafka():
    consumer = KafkaConsumer('testnum',
                             bootstrap_servers=['localhost:29092'],
                             group_id='test',
                             auto_offset_reset='earliest')
    for msg in consumer:
        res_str = msg.value.decode("utf-8")
        print("Text:", res_str)

//В интернете можно найти более примитивные примеры