blob: e47e20f9c2fe760b80dd78aa32030c7b1da94ca1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
# List topics
kubectl exec testclient -- ./bin/kafka-topics.sh --zookeeper zookeeper:2181 --list
# Create topic
kubectl exec testclient -- ./bin/kafka-topics.sh --zookeeper zookeeper:2181 --topic test1 --create --partitions 1 --replication-factor 1
# Set one of your terminals to listen to messages on the test topic
kubectl exec -ti testclient -- ./bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic test1 --from-beginning
# Go ahead and produce messages
echo "Write a message followed by enter, exit using Ctrl+C"
kubectl exec -ti testclient -- ./bin/kafka-console-producer.sh --broker-list broker-0.kafka.svc.cluster.local:9092 --topic test1
# Bootstrap even if two nodes are down
kubectl exec -ti testclient -- ./bin/kafka-console-producer.sh --broker-list broker-0.kafka.svc.cluster.local:9092,broker-1.kafka.svc.cluster.local:9092,broker-2.kafka.svc.cluster.local:9092 --topic test1
# Get a broker through the service
kubectl exec -ti testclient -- ./bin/kafka-console-producer.sh --broker-list kafka.kafka.svc.cluster.local:9092 --topic test1
# The following commands run in the pod
kubectl exec -ti testclient -- /bin/bash
# Topic 2, replicated
./bin/kafka-topics.sh --zookeeper zookeeper:2181 --describe --topic test2
./bin/kafka-verifiable-consumer.sh \
--broker-list=kafka.kafka.svc.cluster.local:9092 \
--topic=test2 --group-id=A --verbose
# If a topic isn't available this producer will tell you
# WARN Error while fetching metadata with correlation id X : {topicname=LEADER_NOT_AVAILABLE}
# ... but with current config Kafka will auto-create the topic
./bin/kafka-verifiable-producer.sh \
--broker-list=kafka.kafka.svc.cluster.local:9092 \
--value-prefix=1 --topic=test2 \
--acks=1 --throughput=1 --max-messages=10
|