Как узнать версию kafka linux

Обновлено: 29.06.2024

Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на Windows 10. Также мы создадим проект, используя Intellij IDEA и Spring Boot.

Зачем?

Установка и настройка ZooKeeper и Apache Kafka на Windows 10

Первое, что надо знать для начала работы — это то, что Apache Kafka работает поверх сервиса ZooKeeper. ZooKeeper — это распределенный сервис конфигурирования и синхронизации, и это всё, что нам нужно знать о нём в данном контексте. Мы должны скачать, настроить и запустить его перед тем, как начать работу с Kafka. Прежде чем начать работу с ZooKeeper, убедитесь, что у вас установлен и настроен JRE.

Извлекаем из скаченного архива ZooKeeper`а файлы в какую-нибудь папку на диске.
В папке zookeeper с номером версии, находим папку conf и в ней файл “zoo_sample.cfg”.



Копируем его и меняем название копии на “zoo.cfg”. Открываем файл-копию и находим в нём строчку dataDir=/tmp/zookeeper. Прописываем в данной строчке полный путь к нашей папке zookeeper-х.х.х. У меня это выглядит так: dataDir=C:\\ZooKeeper\\zookeeper-3.6.0

Теперь добавим системную переменную среды: ZOOKEEPER_HOME = C:\ ZooKeeper \zookeeper-3.4.9 и в конце системной переменной Path добавим запись: ;%ZOOKEEPER_HOME%\bin;

Запускаем командную строку и пишем команду:


Если всё сделано правильно, вы увидите примерно следующее.


В папке с Kafka находим папку config, в ней находим файл server.properties и открываем его.


Находим строку log.dirs= /tmp/kafka-logs и указываем в ней путь, куда Kafka будет сохранять логи: log.dirs=c:/kafka/kafka-logs.


В этой же папке редактируем файл zookeeper.properties. Строчку dataDir=/tmp/zookeeper меняем на dataDir=c:/kafka/zookeeper-data, не забывая при этом, после имени диска указывать путь к своей папке с Kafka. Если вы всё сделали правильно, можно запускать ZooKeeper и Kafka.


Для кого-то может оказаться неприятной неожиданностью, что никакого GUI для управления Kafka нет. Возможно, это потому, что сервис рассчитан на суровых нёрдов, работающих исключительно с консолью. Так или иначе, для запуска кафки нам потребуется командная строка.

Сначала надо запустить ZooKeeper. В папке с кафкой находим папку bin/windows, в ней находим файл для запуска сервиса zookeeper-server-start.bat, кликаем по нему. Ничего не происходит? Так и должно быть. Открываем в этой папке консоль и пишем:


Опять не работает? Это норма. Всё потому что zookeeper-server-start.bat для своей работы требует параметры, прописанные в файле zookeeper.properties, который, как мы помним, лежит в папке config. Пишем в консоль:


Теперь всё должно стартануть нормально.


Ещё раз открываем консоль в этой папке (ZooKeeper не закрывать!) и запускаем kafka:


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

Работа с kafka из IDEA



В итоге файл pom.xml должен выглядеть так:


Класс, в котором будет создаваться консьюмер необходимо пометить аннотацией @EnableKafka.


Так же в файле настроек application.property необходимо указать параметр консьюмера groupe-id. Если этого не сделать, приложение не запустится. Параметр имеет тип String и может быть любым.

Усложняем проект

Реальные проекты с использованием Kafka конечно же сложнее, чем тот, который мы создали. Теперь, когда мы разобрались с базовыми функциями сервиса, рассмотрим, какие дополнительные возможности он предоставляет. Для начала усовершенствуем продюсера.



Если мы попробуем вручную создать объект KafkaTemplate, то увидим, что в конструктор в качестве параметра передаётся объект интерфейса ProducerFactory<K, V>, например DefaultKafkaProducerFactory<>. Для того, чтобы создать DefaultKafkaProducerFactory, нам нужно в его конструктор передать Map, содержащий настройки продюсера. Весь код по конфигурации и созданию продюсера вынесем в отдельный класс. Для этого создадим пакет config и в нём класс KafkaProducerConfig.

Теперь изменим тип передаваемого значения. Что если у нас не стандартный класс из библиотеки Java, а какой-нибудь кастомный DTO. Допустим такой.



Из объекта ConsumerRecord мы можем получить все интересующие нас параметры.


Мы видим, что вместо ключа на консоль выводятся какие-то кракозябры. Это потому, что для десериализации ключа по умолчанию используется StringDeserializer, и если мы хотим, чтобы ключ в целочисленном формате корректно отображался, мы должны изменить его на LongDeserializer. Для настройки консьюмера в пакете config создадим класс KafkaConsumerConfig.


Класс KafkaConsumerConfig очень похож на KafkaProducerConfig, который мы создавали ранее. Здесь так же присутствует Map, содержащий необходимые конфигурации, например, такие как десериализатор для ключа и значения. Созданная мапа используется при создании ConsumerFactory<>, которая в свою очередь, нужна для создания KafkaListenerContainerFactory<?>. Важная деталь: метод возвращающий KafkaListenerContainerFactory<?> должен называться kafkaListenerContainerFactory(), иначе Spring не сможет найти нужного бина и проект не скомпилируется. Запускаем.


Видим, что теперь ключ отображается как надо, а это значит, что всё работает. Конечно, возможности Apache Kafka далеко выходят за пределы тех, что описаны в данной статье, однако, надеюсь, прочитав её, вы составите представление о данном сервисе и, самое главное, сможете начать работу с ним.

Мойте руки чаще, носите маски, не выходите без необходимости на улицу, и будьте здоровы.

Как найти версию kafka в Linux? есть ли способ найти установленную версию kafka, кроме упоминания версии при ее загрузке?

Не уверен, есть ли удобный способ, но вы можете просто проверить свою kafka/libs папку. Вы должны увидеть такие файлы, как kafka_2.10-0.8.2-beta.jar , где 2.10 версия Scala и версия 0.8.2-beta Kafka.

На kafka --version данный момент ничего подобного нет . Поэтому вам следует либо проверить версию из своей kafka/libs/ папки, либо запустить

из папки kafka (и он сделает то же самое для вас). Он вернет вам что-то вроде того, kafka_2.9.2-0.8.1.1.jar.asc где 0.8.1.1 находится ваша версия кафки.

реалистичный ответ: зависит от вашей платформы и того, как вы ее установили Если установлено через yum на centos, то - find /usr/share/java/kafka -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'

Проверить версию Kakfa можно с помощью confluent утилиты, которая по умолчанию поставляется с платформой Confluent ( confluent утилита также может быть добавлена ​​в кластер отдельно - кредиты cricket_007 ).

Проверка версии других компонентов платформы Confluent, таких как ksql schema-registry и подключение

Это все еще неверно, извините (и это работает и для Kafka 2.0+ (confluent 5.x +). У вас есть удаленно работающий кластер Kafka с любой версией , confluent version это вам не

Есть несколько способов найти версию кафки

он отобразит все запущенные клиенты kafka в консоли . Пример: - /usr/hdp/current/kafka-broker/bin/../libs/kafka-clients- 0.10.0.2.5.3.0-37 .jar мы используют 0.10.0.2.5.3.0-37 версию кафки

Способ 2: - перейти к

Пример: - kafka_2.10- 0.10.0.2.5.3.0-37 .jar kafka - clients- 0.10.0.2.5.3.0-37 .jar

Тот же результат, что и в методе 1, мы можем найти версию kafka, использующуюся в библиотеках kafka.

Вы можете просмотреть журналы, чтобы узнать версию. Допустим, под kafka установлена /usr/local/kafka , тогда:

При использовании Docker: docker logs kafka | egrep -i "kafka\W+version"

Простой способ на macOS, например, установка через homebrew

перейдите в папку kafka / libs, мы видим, что несколько jar-файлов ищут что-то похожее на kafka_2.11-0.10.1.1.jar.asc, в этом случае версия kafka - 0.10.1.1

Вы можете использовать для Debian / Ubuntu:

Ожидаемый результат должен быть таким:

Я нашел простой способ сделать это без поиска в каталогах или файлах журналов:

Результат выглядит так:

Когда вы устанавливаете Kafka в Centos7 с конфлюэнтом:

Вы можете увидеть версию Kafka с помощью:

Вы можете прочитать: confluent-kafka-2.11> = 0.10.2.1

Чтобы найти версию Kafka, мы можем использовать jps команду, которая показывает все процессы Java, запущенные на машине.

Шаг 1. Допустим, вы запускаете Kafka от имени пользователя root, поэтому войдите в систему с правами root и используйте jps -m . Он покажет результат как

Шаг 2: Из приведенного выше результата вы можете взять PID для приложения Kafka и использовать, pwdx 9434 который сообщает текущий каталог процесса. результат будет как

здесь вы можете увидеть версию Kafka, которая составляет 2.12-2.4.0

Чтобы проверить версию кафки:

Если вы хотите проверить версию определенного брокера Kafka, запустите этот интерфейс командной строки на брокере *

где localhost:9092 доступен <hostname|IP Address>:<port> этот API, который будет проверять ( localhost может использоваться, если это тот же хост, на котором вы запускаете эту команду). Пример вывода:

* Apache Kafka поставляется с множеством консольных инструментов в ./bin подкаталоге вашей загрузки Kafka; например

Как найти версию kafka в linux

[MSX] Pac-Man - Оценка 500K - LongPlay с помощью инструментов - Часть 02: раунды 11–23

Как найти версию kafka в Linux? есть ли способ найти установленную версию kafka, кроме упоминания версии при ее загрузке?

Не уверен, что есть удобный способ, но вы можете просто осмотреть свой kafka/libs папка. Вы должны увидеть такие файлы, как kafka_2.10-0.8.2-beta.jar , где 2.10 это версия Scala и 0.8.2-beta это версия Кафки.

Проверка версии Kakfa может быть выполнена с помощью confluent утилита, которая по умолчанию поставляется с платформой Confluent ( confluent утилита может быть добавлена ​​в кластер и отдельно - кредиты cricket_007).

Проверка версии других компонентов платформы Confluent, таких как ksql схема-реестр и подключиться

  • 2 Это все еще неверно, извините (и это работает и для Kafka 2.0+ (confluent 5.x +). У вас есть удаленно работает Кластер Kafka с любая версия, тогда confluent version неужели вам нехорошо.
  • Когда я использую утилиту Confluent, как вы упомянули, я получаю эту ошибку. Ошибка: неизвестная команда "кафка" для "объединенной версии"
  • что confluent version ?

Нет ничего подобного kafka --version с этой точки зрения. Поэтому вам следует либо проверить версию на своем kafka/libs/ папка или вы можете запустить

из папки kafka (и он сделает то же самое для вас). Он вернет вам что-то вроде kafka_2.9.2-0.8.1.1.jar.asc где 0.8.1.1 это ваша кафка-версия.

  • 6 тупой вопрос: где обычно находится чья-то "папка кафка"?
  • 2 очевидный ответ: /usr/local/kafka
  • 19 реалистичный ответ: зависит от вашей платформы и от того, как вы ее установили
  • 2 Если установлено через yum на centos, тогда - find /usr/share/java/kafka -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
  • 1 find / -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'

Есть несколько способов найти версию кафки

он отобразит все запущенные клиенты kafka в консоли . Пример: - /usr/hdp/current/kafka-broker/bin/../libs/kafka-clients-0.10.0.2.5.3.0-37.jar мы используем 0.10.0.2.5.3.0-37 версию kafka

Пример: - kafka_2.10-0.10.0.2.5.3.0-37.jar кафка-клиенты-0.10.0.2.5.3.0-37.jar

тот же результат, что и в методе 1, мы можем найти версию kafka, используя в библиотеках kafka.

Вы можете просмотреть журналы, чтобы узнать версию. Допустим, кафка установлена ​​под /usr/local/kafka , тогда:

  • 5 При использовании Docker: docker logs kafka | egrep -i 'kafka\W+version'

Простой способ macOS например установлен через homebrew

перейдите в папку kafka / libs, мы увидим, что несколько банок ищут что-то подобное kafka_2.11-0.10.1.1.jar.asc, в этом случае версия kafka - 0.10.1.1

Вы можете использовать для Debian / Ubuntu:

Ожидаемый результат должен быть таким:

Я нашел простой способ сделать это без поиска в каталогах или файлах журналов:

Результат выглядит так:

Если вы хотите проверить версию определенного брокера Kafka, запустите этот интерфейс командной строки на брокере *

где localhost:9092 доступный :

этот API проверит ( localhost можно использовать, если это тот же хост, на котором вы запускаете эту команду). Пример вывода:

* Apache Kafka поставляется с множеством консольных инструментов в ./bin подкаталог вашей загрузки Kafka; например

Когда вы устанавливаете Kafka в Centos7 с конфлюэнтом:

Вы можете увидеть версию Kafka с помощью:

Вы можете прочитать: confluent-kafka-2.11> = 0.10.2.1

Чтобы найти версию Kafka, мы можем использовать jps команда, которая показывает все процессы Java, запущенные на машине.

Шаг 1. Допустим, вы запускаете Kafka от имени пользователя root, поэтому войдите в систему с правами root и используйте jps -m . Он покажет результат как

Шаг 2. Из приведенного выше результата вы можете взять PID для приложения Kafka и использовать pwdx 9434 который сообщает текущий каталог процесса. результат будет как

Как найти версию kafka в Linux? есть ли способ найти установленную версию kafka, кроме упоминания версии при ее загрузке?

ОТВЕТЫ

Ответ 1

Не уверен, есть ли удобный способ, но вы можете просто проверить свою папку kafka/libs . Вы должны увидеть файлы типа kafka_2.10-0.8.2-beta.jar , где 2.10 - версия Scala, а 0.8.2-beta - версия Kafka.

Ответ 2

В данный момент нет ничего подобного kafka --version . Поэтому вы должны либо проверить версию в своей папке kafka/libs/ , либо запустить

из вашей папки kafka (и он сделает то же самое для вас). Он вернет вам что-то вроде kafka_2.9.2-0.8.1.1.jar.asc , где 0.8.1.1 - ваша версия kafka.

Ответ 3

Существует несколько способов найти версию kafka

отобразятся все запущенные клиенты kafka в консоли. Пример: -/usr/hdp/current/kafka-broker/bin/../libs/kafka-clients- 0.10.0.2.5.3.0-37.jar мы используем 0.10.0.2.5.3.0-37 версию kafka

Способ 2: -перейдите к

Пример: - kafka_2.10- 0.10.0.2.5.3.0-37.jar Кафка-clients- 0.10.0.2.5.3.0-37.jar

тот же результат, что и метод 1, мы можем найти версию kafka, использующую в kafka libs.

Ответ 4

Вы можете grep журналы, чтобы увидеть версию. Скажем, kafka установлен под /usr/local/kafka , затем:

Ответ 5

Kakfa проверка версии может быть сделана с confluent утилитом, которая поставляется по умолчанию с платформой Confluent ( confluent утилита может быть добавлена в кластер отдельно, а также - кредиты cricket_007).

Проверка версии других компонентов платформы Confluent, таких как ksql schema-registry и подключение

Ответ 6

Простой способ на MacOS, например, установлен через homebrew

Ответ 7

перейти в папку kafka/libs мы можем видеть, что несколько банок ищут что-то подобное kafka_2.11-0.10.1.1.jar.asc, в этом случае версия kafka равна 0.10.1.1

Ответ 8

Когда вы устанавливаете Kafka в Centos7 с конфлюэнтом:

Вы можете увидеть версию Kafka с помощью:

Вы можете прочитать: confluent-kafka-2.11 >= 0.10.2.1

Читайте также: