Kafka是一个分布式流处理平台。以下是一些基本的Kafka命令行工具和API,用于管理和使用Kafka。
1.创建Topic
Kafka中的消息以topic为单位进行划分,生产者通过topic将消息发送到Kafka集群,消费者也通过topic从集群拉取消息。
创建topic为test的命令如下:
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
参数 --topic 指定 Topic 名,–partitions 指定分区数,–replication-factor 指定备份(副本)数
2.查看Topic列表
查看Kafka中所有topic的命令如下:
kafka-topics.sh --list --zookeeper localhost:2181
3.查看Topic详细信息
kafka-topics.sh --describe --zookeeper localhost:2181 --topic test
4.删除Topic详细信息
kafka-topics.sh --delete --zookeeper localhost:2181 --topic test_kafka_topic
5.发送消息
Kafka提供了一个命令行工具,可以从输入文件中或者从标准输入中读取消息,并发送到指定的topic。
发送消息的命令如下:
echo "hello kafka" | kafka-console-producer.sh --broker-list localhost:9092 --topic test
或
kafka-console-producer.sh --broker-list localhost:9092 --topic test
6.消费消息
从topic中消费消息的命令如下:
从头开始消费数据
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
从尾开始消费数据
kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --offset latest
修改Topic的Partition数量
Kafka的topic可以通过修改配置文件的方式进行分区数的增加,但是减少分区数是不被允许的。
修改topic的partition数量的命令如下:
kafka-topics.sh --alter --zookeeper localhost:2181 --topic test --partitions 3