kafka各类脚本
1、start_kafka.sh
#! /bin/bash #启动zookeeper,由于使用外部的zookeeper,所以不需要启动本机的zk #nohup bin/kafka-server-start.sh config/server.properties > logs/kafka_server_nohup.log 2>&1 & #启动kafka server nohup bin/kafka-server-start.sh config/server.properties > logs/kafka_server_nohup.log 2>&1 &
2、列出所有的topic,list_topic.sh
#! /bin/bash #列出kafka所有的topic bin/kafka-topics.sh --zookeeper 172.16.0.11:2181 --list
3、创建topic脚本create_topic.sh
#! /bin/bash #传参创建topic num=$# if [ ${num} -eq 3 ]; then echo "传参正确...." else echo "传参错误.....,应该传递三个参数: 副本数、分区数、topic名"; exit 0; fi echo "执行的文件名:$0"; echo "第一个参数replication-factor为:$1"; echo "第二个参数partitions为:$2"; echo "第三个参数topic为:$3"; if [ -n $1 ] && [ -n $2 ] && [ -n $3 ] ; then bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor $1 --partitions $2 --topic $3 else echo "创建topic失败...." fi
4、发布消息到指定topic ,producer_msg.sh
#! /bin/bash ##发布消息到指定的topic上 num=$# if [ ${num} -eq 1 ]; then echo "传参正确....topic=$1" else echo "传参错误.....,应该传递一个参数:topic名"; exit 0; fi bin/kafka-console-producer.sh --broker-list localhost:9092 --topic $1
5、消费指定topic上的消息consumer_msg.sh
#! /bin/bash ##消费指定的topic上的消息 num=$# if [ ${num} -eq 1 ]; then echo "传参正确....topic=$1" else echo "传参错误.....,应该传递一个参数:topic名"; exit 0; fi bin/kafka-console-consumer.sh --zookeeper 172.16.0.11:2181 --from-beginning --topic $1
脚本不起眼,但是耐用...........