Skip to content

Instantly share code, notes, and snippets.

@johndstein
Created March 9, 2015 13:13
Show Gist options
  • Save johndstein/0ab4dd8264492e181483 to your computer and use it in GitHub Desktop.
Save johndstein/0ab4dd8264492e181483 to your computer and use it in GitHub Desktop.
One way to "delete" messages from kafka topic
#!/bin/bash
IFS=","
topic="@option.topic@"
for t in $topic
do
echo "Expiring topics: $t"
/opt/tap-kafka/bin/kafka-topics.sh --zookeeper `awk -F'=' '/zookeeper.connect=/ {print $2}' /opt/tap-kafka/config/server.properties | sed -e 's/\/tap-kafka//'`/tap-kafka --alter --topic $t --config retention.bytes=0
/opt/tap-kafka/bin/kafka-topics.sh --zookeeper `awk -F'=' '/zookeeper.connect=/ {print $2}' /opt/tap-kafka/config/server.properties | sed -e 's/\/tap-kafka//'`/tap-kafka --describe --topic $t
done
echo "Waiting 120 seconds for messages to expire"
sleep 120
for t in $topic
do
echo "Restoring default expire time in Kafka for topic: $t"
/opt/tap-kafka/bin/kafka-topics.sh --zookeeper `awk -F'=' '/zookeeper.connect=/ {print $2}' /opt/tap-kafka/config/server.properties | sed -e 's/\/tap-kafka//'`/tap-kafka --alter --topic $t --deleteConfig retention.bytes
/opt/tap-kafka/bin/kafka-topics.sh --zookeeper `awk -F'=' '/zookeeper.connect=/ {print $2}' /opt/tap-kafka/config/server.properties | sed -e 's/\/tap-kafka//'`/tap-kafka --describe --topic $t
done
#Original from TAP project.
#/opt/tap-kafka/bin/kafka-topics.sh --zookeeper `awk -F'=' '/zookeeper.connect=/ {print $2}' /opt/tap-kafka/config/server.properties | sed -e 's/\/tap-kafka//'`/tap-kafka --alter --topic @option.topic@ --config retention.bytes=0
#/opt/tap-kafka/bin/kafka-topics.sh --zookeeper `awk -F'=' '/zookeeper.connect=/ {print $2}' /opt/tap-kafka/config/server.properties | sed -e 's/\/tap-kafka//'`/tap-kafka --describe --topic @option.topic@
#echo "Sleeping for 2 minutes for messages to expire"
#sleep 120
#/opt/tap-kafka/bin/kafka-topics.sh --zookeeper `awk -F'=' '/zookeeper.connect=/ {print $2}' /opt/tap-kafka/config/server.properties | sed -e 's/\/tap-kafka//'`/tap-kafka --alter --topic @option.topic@ --deleteConfig retention.bytes
#/opt/tap-kafka/bin/kafka-topics.sh --zookeeper `awk -F'=' '/zookeeper.connect=/ {print $2}' /opt/tap-kafka/config/server.properties | sed -e 's/\/tap-kafka//'`/tap-kafka --describe --topic @option.topic@
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment