aboutsummaryrefslogtreecommitdiff
path: root/test/test.sh
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