This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galaxy-deployment-tsg-olap-…/kafka/kafka-operation.sh
2024-11-07 20:48:12 +08:00

112 lines
5.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
LOCAL_IP=127.0.0.1:9094
ZK_SERVER=127.0.0.1:2181/kafka
KAFKA_SERVER=127.0.0.1:9092
PARTITIONS=1
usage() {
echo "------------------------------------------------------------------------"
echo -e "生产数据\n"
echo "交互式kafka-operation.sh producer MOCK-DATA-SESSION-RECORD" | column -t
echo "读取文件kafka-operation.sh producer MOCK-DATA-SESSION-RECORD < mock_data.txt" | column -t
echo "------------------------------------------------------------------------"
echo -e "消费数据\n"
echo "从当前消费kafka-operation.sh consumer MOCK-DATA-SESSION-RECORD" | column -t
echo "从头消费kafka-operation.sh consumer-begin MOCK-DATA-SESSION-RECORD" | column -t
echo "------------------------------------------------------------------------"
echo -e "创建Topic\n"
echo "kafka-operation.sh create-topic [topic name] [partition num] [replication num]" | column -t
echo "样例kafka-operation.sh create-topic MOCK-DATA-SESSION-RECORD 3 1" | column -t
echo "------------------------------------------------------------------------"
echo -e "删除Topic\n"
echo "kafka-operation.sh delete-topic [topic name]" | column -t
echo "样例kafka-operation.sh delete-topic MOCK-DATA-SESSION-RECORD" | column -t
echo "------------------------------------------------------------------------"
echo -e "查看Topic列表\n"
echo "kafka-operation.sh list" | column -t
echo "------------------------------------------------------------------------"
echo -e "查看Topic详情\n"
echo "kafka-operation.sh desc-topic [topic name]" | column -t
echo "样例kafka-operation.sh desc-topic MOCK-DATA-SESSION-RECORD" | column -t
echo "------------------------------------------------------------------------"
echo -e "查看消费组列表\n"
echo "kafka-operation.sh groups" | column -t
echo "------------------------------------------------------------------------"
echo -e "查看消费组详情\n"
echo "kafka-operation.sh desc-group [consumer group name]" | column -t
echo "样例kafka-operation.sh desc-group etl-session-record-kafka-to-kafka" | column -t
echo "------------------------------------------------------------------------"
echo -e "增加Topic分区\n"
echo "kafka-operation.sh add-partition [topic name] [new partition num]" | column -t
echo "样例kafka-operation.sh add-partition MOCK-DATA-SESSION-RECORD 5" | column -t
echo "------------------------------------------------------------------------"
echo -e "Topic Leader平衡\n"
echo "kafka-operation.sh election-leader" | column -t
echo "------------------------------------------------------------------------"
echo -e "查看Quotas\n"
echo "kafka-operation.sh desc-quota" | column -t
echo "------------------------------------------------------------------------"
echo -e "增加Quotas\n"
echo "kafka-operation.sh add-quota [quatos rule] [user] [client.id]" | column -t
echo "kafka-operation.sh add-quota 'producer_byte_rate=10485760' tsg_olap SESSION-RECORD" | column -t
echo "------------------------------------------------------------------------"
echo -e "删除Quotas\n"
echo "kafka-operation.sh delete-quota [quatos rule] [user] [client.id]" | column -t
echo "kafka-operation.sh delete-quota 'producer_byte_rate' tsg_olap SESSION-RECORD" | column -t
echo "------------------------------------------------------------------------"
}
if [ $# -eq 0 ]; then
usage
exit 0
fi
case $1 in
producer)
kafka-console-producer.sh --producer.config $KAFKA_HOME/config/producer.properties --broker-list $LOCAL_IP --topic $2
;;
consumer)
kafka-console-consumer.sh --consumer.config $KAFKA_HOME/config/consumer.properties --bootstrap-server $LOCAL_IP --topic $2
;;
consumer-begin)
kafka-console-consumer.sh --consumer.config $KAFKA_HOME/config/consumer.properties --from-beginning --bootstrap-server $LOCAL_IP --topic $2
;;
create-topic)
kafka-topics.sh --if-not-exists --create --bootstrap-server $KAFKA_SERVER --topic $2 --partitions $3 --replication-factor $4
;;
delete-topic)
kafka-topics.sh --if-exists --delete --bootstrap-server $KAFKA_SERVER --topic $2
;;
list)
kafka-topics.sh --list --bootstrap-server $KAFKA_SERVER
;;
desc-topic)
kafka-topics.sh --if-exists --bootstrap-server $KAFKA_SERVER --describe --topic $2
;;
groups)
kafka-consumer-groups.sh --all-groups --all-topics --list --bootstrap-server $KAFKA_SERVER
;;
desc-group)
kafka-consumer-groups.sh --bootstrap-server $KAFKA_SERVER --describe --group $2
;;
add-partition)
kafka-topics.sh --if-exists --bootstrap-server $KAFKA_SERVER --alter --topic $2 --partitions $3
;;
election-leader)
kafka-leader-election.sh --bootstrap-server $KAFKA_SERVER --all-topic-partitions --election-type PREFERRED
;;
desc-quota)
kafka-configs.sh --bootstrap-server $KAFKA_SERVER --describe --entity-type users --entity-type clients
;;
add-quota)
kafka-configs.sh --bootstrap-server $KAFKA_SERVER --alter --add-config $2 --entity-type users --entity-name $3 --entity-type clients --entity-name $4
;;
delete-quota)
kafka-configs.sh --bootstrap-server $KAFKA_SERVER --alter --delete-config $2 --entity-type users --entity-name $3 --entity-type clients --entity-name $4
;;
*)
usage
esac