Kafka: установка и первый запуск

В этой статье мы рассмотрим установку и запуск Kafka под Ubuntu 16.04 (рецепт будет верен и для других Unix-систем).

Для начала нам нужно получить архив с Kafka и распаковать его.

Заходим в директорию, где вы храните эти ваши спарки, хадупы и стягиваем "десятку" отсюда.

$ cd <your_favorite_directory>
$ wget http://apache-mirror.rbc.ru/pub/apache/kafka/0.10.2.0/kafka_2.11-0.10.2.0.tgz

Как и в случае с большинством апачевских изделий, архив нужно распаковать (а по-хорошему еще и переименовать во что-то удобоваримое читабельности ради).

$ tar xvf kafka_2.11-0.10.2.0.tgz
$ mv kafka_2.11-0.10.2.0 Kafka

Ой, все.

P.S. Под Windows запустить можно, но таки зачем вам этот геморрой?

Запуск

Дело в том, что Kafka идет в комплекте не одна, а вместе со своим напарником, Zookeeper-ом (возможно знакомым вам по таким фильмам, как "Hadoop и High Availability" и "Ненависть к хранению конфигов").

И вот этот самый Zookeeper надо стартовать сначала. Это не проблема, т.к. он уже идет в поставке и полностью интегрирован. Впрочем, если у вас есть свой готовый Zookeeper-кластер, то и его можно сцепить с Kafka.

Но для первого знакомства нам хватит скрипта zookeeper-server-start.sh, который идет в поставке Kafka. Откроем

$ cd Kafka
$ bin/zookeeper-server-start.sh config/zookeeper.properties

Надо понимать, что мы стартуем со стандратным конфигом, который шел с Kafka, о том, как его править, будет в следующих частях.

Самая типичная ошибка, с которой валится Zookeeper - некорреткный путь к конфигам или некорректные конфиги. Правьте их с осторожностью.

Теперь можно запустить своего самого первого кафкианского брокера, в некотором смысле аналога Worker-а/Executor-а в других распределенных вычислительных системах.

$ bin/kafka-server-start.sh config/server.properties

Кафка есть, но пока ничего ни писать, ни читать из нее невозможно, так как нет ни самих сообщений, ни источников, ни стоков, нет и некоей категории/таблицы/тэга, под вывеской которых можно было бы стримить данные. И имя этой категории - topic [топик далее].

Первый топик

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

$ bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 3 --topic messages

Что тут произошло? Мы попросили Kafka создать топик в связке с ранее запущенным экземпляром Zookeeper, без репликации (т.к. у нас один брокер и вообще песочный запуск), разделить топик на три примерно равных партиции (отвечая в будущем за их балансировку) и наречь сей топик именем "messages".

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

$ bin/kafka-topics.sh --list --zookeeper localhost:2181

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

results matching ""

    No results matching ""