一、topic
1.查看全部topic
kafka-topics.sh --zookeeper localhost:2181 --list
2.创建topic,指定分区数目和备份因子
kafka-topics.sh --zookeeper localhost:2181 --create --topic topic_name --partitions 3 --replication-factor 1
3.描述当前topic
kafka-topics.sh --zookeeper localhost:2181 --describe --topic topic_name
4.指定topic进行删除
kafka-topics.sh --zookeeper localhost:2181 --delete --topic topic_name
二、生产与消费
1.指定topic,打开一个生产窗口
kafka-console-producer.sh --broker-list localhost:9092 --topic topic_name
2.指定topic,打开一个消费窗口,--from-beginning表从头消费,没有beginning则监听实时消费
kafka-console-consumer.sh --zookeeper localhost:2181 --topic topic_name --from-beginning
3.新的消费命令,zookeeper换成bootstrap-server,也可以给出group的名称
kafka-console-consumer.sh --bootstrap-server borker_host1:port1,borker_host2:port2 --topic topic_name --group group_name --from-beginning --max-messages 100
三、消费组
1.查看所有的消费组
kafka-consumer-groups.sh --bootstrap-server borker_host:9092 --list
2.查看当前consumer_group下的消费情况
kafka-consumer-groups.sh --bootstrap-server borker_host:9092 --describe --group kafka_consumer_group_v1
3.重置offset的工具
a. kafka-consumer-groups.sh --bootstrap-server borker_host1:port1 --group group_name --reset-offsets --execute --to-offset NEW_OFFSET --topic topic_name
b. kafka-consumer-groups.sh --bootstrap-server borker_host1:port1 --group group_name --reset-offsets --execute --to-earliest/--to-latest --topic topic_name
第一条,指定group和topic的offset修改到NEW_OFFSET的位置,下次消费启动后,消费将从指定的offset处消费。所有的分区都将使用这个值。
第二条,指定group和topic的offset修改到earliest或者latest位置,使得消费者从头或者从尾部消费。
例如,消费者将test_topic的信息全部都消费了,假设此时我想将每个分区的offset都拉到200去,从200往后重新消费,则通过命令:
c. kafka-consumer-groups.sh --bootstrap-server localhost:6067 --group yan --reset-offsets --execute --to-offset 200 --topic shxx_qq_info_old --max-messages 10
对设定的offset进行检查
d. kafka-consumer-groups.sh --bootstrap-server localhost:6067 --group yan --describe
4.删除group
kafka-consumer-groups.sh --bootstrap-server localhost:6067 --group test-1 --delete
四、kafka版本查看方法
kafka没有像别的软件一样有,kafka -verison的命令,但是你可以查看kafka/libs 下的库文件,知道kafka的版本号:
命令一
find ./libs/ -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'
前面2.9.2是Scala 的版本,后面0.8.1.1就是你kafka的版本。
命令二
find / -name \*kafka_\* | head -1 | grep -o '\kafka[^\n]*'