kafka服务开启、关闭、topic创建、查询、删除、详情、生产者、消费者等常用指令各不相同。为了方便使用常用的指令,将自带脚本再次自定义使用
kaServer.sh 放到kafka/bin/目录下,每次通过简单的关键字实现常用指令的使用
#! /bin/bash
# author:bai
source /etc/profile
cd $KAFKA_HOME/bin
pwd
case $1 in
?start|--start)
echo "启动kafka......."
$KAFKA_HOME/bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
echo "kafka已启动"
;;
*stop)
echo "关闭kafka......"
$KAFKA_HOME/bin/kafka-server-stop.sh
echo "kafka已关闭"
;;
*restart)
echo "重启kafka"
echo "关闭kafka......"
$KAFKA_HOME/bin/kafka-server-stop.sh
echo "kafka已关闭"
echo "启动kafka......."
$KAFKA_HOME/bin/kafka-server-start.sh -daemon $KAFKA_HOME/config/server.properties
echo "kafka已启动"
;;
*create)
echo "创建topic:$2 副本数:$3 分区数:$4"
$KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper $(hostname -i):2182 --replication-factor $3 --partitions $4 --topic $2
;;
*delete)
echo "删除topic:$2"
$KAFKA_HOME/bin/kafka-topics.sh --delete --zookeeper $(hostname -i):2182 --topic $2
;;
*describe)
echo "topic:$2 详情:"
$KAFKA_HOME/bin/kafka-topics.sh --describe --zookeeper $(hostname -i):2182 --topic $2
;;
*list)
echo "topic列表:"
$KAFKA_HOME/bin/kafka-topics.sh --list --zookeeper $(hostname -i):2182
;;
*producer)
echo "开启生产者$2:"
$KAFKA_HOME/bin/kafka-console-producer.sh --broker-list $(hostname -i):9092 --topic $2
;;
*consumer)
echo "开启消费者$2:"
case $3 in
begin)
echo "从头消费:"
$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server $(hostname -i):9092 --topic $2 --from-beginning
;;
*)
echo "最新消费:"
$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server $(hostname -i):9092 --topic $2
;;
esac
;;
*help|-h)
echo "使用说明如下:"
echo " -start start kafka service."
echo " -stop stop kafka service."
echo " -restart restart kafka service."
echo " -create params: topic replication-factor partitions"
echo " -consumer params: topic"
echo " -producer params: topic"
echo " -list list kafka all topics."
echo " -describe describe this topic."
echo " -delete params: topic"
;;
esac
初次使用脚本,可能过于冗余,欢迎指正。