4.3 KiB
Kafka workspace
Docker image with Kafka, and many other tools that make development with Kafka much more convenient.
docker run --name rwid-1 -d -p 8020-8035:8020-8035 alnoda/kafka-wid
open your browser on http://localhost:8020
Tools included
Workspace includes multiple CLI tools for Kafka with their own unique features.
Quickstart
Open workspace UI http://localhost:800/ for quick access to all the tools
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.
Using VS-code Kafka extension create topic "quickstart-events"
Cosume events from this topic directly in VS-code using Kafka extension
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
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