Как узнать версию kafka linux
Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом 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; например
[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
Читайте также: