alnoda-workspaces/workspaces/kafka-workspace/README.md
2022-02-01 16:50:36 +00:00

4.5 KiB

Alnoda logo

Kafka workspace

Docker image with Kafka, and many tools to manage Kafka clustters in cloud, improve development experience or get started with Kafka fast.

Collage

docker run --name rwid-1 -d -p 8020-8035:8020-8035 alnoda/kafka-workspace

open your browser on http://localhost:8020

Why

Get started with Kafka very easy. Motivation explained in this Medium article

Tools included

Workspace includes multiple CLI tools for Kafka with their own unique features.

Quickstart

Open workspace UI http://localhost:8020/ for quick access to all the tools

Kafka WID

Open browser-based VS-code editor from the workspace UI, or go directly to http://localhost:8025/, and connect to the local Kafka cluster using VS-code Kafka extension. You only need to provide the name for the cluster, which can be any.

Theia connect WID

Using VS-code Kafka extension create topic "quickstart-events", and cosume events from this topic directly in VS-code using Kafka extension

Theia Kafka consume

Kafka native tools

Kafka distribution itself contains command line tools that allow to create topics, send and consume events, etc. Open workspace terminal http://localhost:8026/ and go to Kafka directory

cd /opt/kafka
  • create topic
bin/kafka-topics.sh --create --partitions 1 --replication-factor 1 --topic quickstart-events --bootstrap-server localhost:9092
  • send some messages
bin/kafka-console-producer.sh --topic quickstart-events --bootstrap-server localhost:9092
  • consume messages
bin/kafka-console-consumer.sh --topic quickstart-events --from-beginning --bootstrap-server localhost:9092

kt

Configure brokers, topic, Kafka version and authentication via environment variables KT_BROKERS, KT_TOPIC, KT_KAFKA_VERSION and KT_AUTH.

  • Set topic to "quickstart-events" (local Kafka instance by default)
export KT_TOPIC="quickstart-events"
  • Get information about topics, brockers and consumer groups
kt topic 
kt group
  • consume messages
kt consume 
  • produce messages
echo 'Bob wins Oscar' | kt produce -topic quickstart-events -literal

KT demo

kafkactl

  • Consume from topic "quickstart-events"
kafkactl consume  quickstart-events --from-beginning
kafkactl consume quickstart-events --from-beginning --print-keys --print-timestamps -o yaml

kcat

  • Consume topic "quickstart-events"
kafkacat -b localhost -t quickstart-events
  • Produce events to the topic
echo "Hello World" | kafkacat -b localhost -t quickstart-events

kcli

Launch kcli in the Workspace terminal

kcli

trubka

  • Consume from the topic "quickstart-events"
trubka consume plain quickstart-events --brokers localhost:9092
  • Produce message to the topic
trubka produce plain quickstart-events "Random Data" --brokers localhost:9092