本文主要介绍了Apache Kafka的常用命令操作,涵盖了Kafka服务器的启动与停止、主题的创建、删除及查看、分区管理、生产者和消费者的基本操作、配置管理、镜像操作,以及如何开启Kafka的JMX监控。
1. KafkaServer管理
- 启动KafkaServer: 使用`bin/kafka-server-start.sh config/server.properties`命令启动服务器,其中`server.properties`是配置文件。
- 关闭KafkaServer: 使用`bin/kafka-server-stop.sh`命令关闭服务器。
2. 主题管理
- 创建主题: 可以通过自动创建或使用`kafka-topics.sh`脚本来创建主题。如果`auto.create.topic.enable`配置项设为`true`,生产者发送消息到未创建的主题时会自动创建。手动创建命令如:`bin/kafka-topics.sh --create --zookeeper master:2181 --topic test1 --partitions 2 --replication-factor 2`。
- 删除主题: 使用`bin/kafka-topics.sh --delete --zookeeper master:2181 --topic <topic-name>`命令删除主题。
3. 分区操作
- 分区leader平衡: 可以通过调整分区分布来平衡负载。
- 分区迁移: 包括节点下线时的迁移和集群扩容时的迁移。
- 增加分区: 使用`kafka-topics.sh --alter`命令可以增加主题的分区数量。
- 增加副本: 相同,通过`--alter`命令可以增加副本数量。
4. 生产者基本操作
- 启动生产者: 通过指定配置启动生产者。
- 查看分区偏移: 使用`kafka-run-class.sh kafka.tools.GetOffsetShell`来查看每个分区的最新消息偏移量。
- 查看书消: `kafka-console-consumer.sh`可以用来查看消息内容。
- 生产者性能测试: 使用`kafka-producer-perf-test.sh`进行生产者性能测试。
5. 消费者基本操作
- 消费消息: `kafka-console-consumer.sh`可以用来消费消息。
- 查看消费组信息: 可以查询不同版本消费组的状态和详细信息,并可删除消费组。
- 消费者性能测试: 使用`kafka-consumer-perf-test.sh`进行消费者性能测试。
6. 配置管理
- topic配置管理: 查看、增加或删除topic配置。
- broker配置管理: 对Kafka服务器的配置进行管理。
7. 镜像操作: 可能涉及数据备份、恢复或迁移。
8. Kafka开启JMX
- 通过修改`server.properties`配置文件中的`jmx.port`和`com.sun.management.jmxremote`等相关参数,可以开启Kafka的JMX监控,以便于收集和分析Kafka服务器的运行指标。
以上内容是Kafka日常管理和运维中的一些核心命令操作,熟练掌握这些操作能够有效地管理和维护Kafka集群。