Big Data Passion

Big Data Passion

Strona tworzona przez pasjonatów i praktyków Big Data

Instalacja Apache Kafka

Instalacja Apache Kafka - trzech brokerów na jednym komputerze

Radosław Szmit

W dzisiejszym poście jak zainstalować sobie szybko kafkę lokalnie do testów. Będziemy używać dystrybucji Apache.

Instalacja dla systemu Linux.

Instalacja wersji z jednym brokerem

Zaczynamy od ściągnięcia Kafki i rozpakowania w nowym katalogu. Najnowsza wersja jest do ściągnięcia ze strony projektu. Będziemy używać wersji Kafki 1.1.0 dla języka Scala w wersji 2.11 (aktualnie 2.11 jest zalecana zarówno dla Kafki jak i Sparka stąd dość oczywisty wybór).

mkdir kafka
cd kafka
wget http://ftp.man.poznan.pl/apache/kafka/1.1.0/kafka_2.11-1.1.0.tgz
tar -xzf kafka_2.11-1.1.0.tgz

Uruchomienie jednego brokera

Jeśli chcemy pracować w wersji z jednym brokerem to już koniec. Teraz wystarczy uruchomić Zookeepera

cd kafka_2.11-1.1.0/
bin/zookeeper-server-start.sh config/zookeeper.properties

oraz brokera

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

Oczywiście robimy to w oddzielnych terminalach lub w tle jako demony (pokazane niżej).

Operacje na Apache Kafka

Zaczynamy od stworzenia topicu

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

teraz możemy sprawdzić listę topiców

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

Uruchamiamy skrypt producenta

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

oraz skrypt konsumenta

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

i wysyłamy kilka wiadomości z poziomu producenta sprawdzając czy zostały odebrane przez konsumenta. Jeśli zobaczymy nasze wiadomości, Kafka działa poprawnie.

Kilku brokerów

By poczuć się jak w środowisku rozproszonym, powołamy do życia dwóch kolejnych brokerów na tym samym komputerze

cp config/server.properties config/server1.properties
cp config/server.properties config/server2.properties

vim config/server1.properties
vim config/server2.properties

Edytując dwa ostatnie pliki zmieniamy

broker.id=0
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs

na

broker.id=1
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs1

oraz

broker.id=2
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs2

(uwaga opcja listeners może być zakomentowana, trzeba usunąć znak # przed nazwą)

Następnie uruchamiamy dwóch dodatkowych brokerów w oddzielnych oknach terminala (poprzedni jest ciągle włączony)

bin/kafka-server-start.sh config/server1.properties
bin/kafka-server-start.sh config/server2.properties

Tworzymy zreplikowany topic

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

oraz topic z partycjami

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

oraz topic zreplikowany z partycjami

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic my-super-topic

wyświetlamy listę topiców

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

wyświetlamy informacje o topicach za pomocą describe

bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-partitioned-topic
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-super-topic
comments powered by Disqus

Ostatnie wpisy

Zobacz więcej

Kategorie

About