启动 Kafka
后台常驻方式,带上参数 -daemon,如:
/usr/local/kafka/bin/kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties
停止 Kafka
/usr/local/kafka/bin/kafka-server-stop.sh
Topic
创建 Topic
参数 --topic 指定 Topic 名,–partitions 指定分区数,–replication-factor 指定备份数:
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic hotitems
注意,如果配置文件 server.properties 指定了 Kafka 在 zookeeper 上的目录,则参数也要指定,否则会报无可用的 brokers(下面部分命令也有同样的情况),如:
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181/kafka --replication-factor 1 --partitions 1 --topic hotitems
列出所有 Topic
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper localhost:2181
查看 Topic
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic hotitems
增加 Topic 的 partition 数
/usr/local/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic hotitems--partitions 5
查看 topic 指定分区 offset 的最大值或最小值
time 为 -1 时表示最大值,为 -2 时表示最小值:
/usr/local/kafka/bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic hotitems--time -1 --broker-list 127.0.0.1:9092 --partitions 0
删除 Topic
/usr/local/kafka/bin/kafka-topics.sh --zookeeper localhost:2181 --topic hotitems--delete
生产消息
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic hotitems
消费消息
从头开始
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hotitems --from-beginning
从尾部开始
从尾部开始取数据,必需要指定分区:
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hotitems --offset latest --partition 0
指定分区
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hotitems --offset latest --partition 0
取指定个数
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hotitems --offset latest --partition 0 --max-messages 1
消费者 Group
指定 Group
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic hotitems -group test_group --from-beginning
消费者 Group 列表
/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list
查看 Group 详情
/usr/local/kafka/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group test_group --describe
输出:
Consumer group 'test_group' has no active members.
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
test 0 5 5 0