kafka集群的管理
主题管理
使用kafka-topic.sh工具可执行主题的大部分操作
- 增加主题-指定zk,主题,分区,副本数
sh kafka-topics.sh --create --zookeeper hadoop01:2181 --replication-factor 1 --partitions 1 --topic topicname
- 删除主题
sh kafka-topics.sh --delete --zookeeper hadoop01:2181 --topic enbook
- 查看所有主题
sh kafka-topics.sh --list --zookeeper hadoop01:2181
- 查看所有主题详细信息
sh kafka-topics.sh --describe--zookeeper hadoop01:2181
- 增加分区操作
目的:扩展主题容量or降低单个分区的吞吐量
sh kafka-topics.sh --alter--zookeeper hadoop01:2181 --replication-factor 1 --topic topicname --partitions 16
有两个参数可用于找出有问题的分区
–under-replicated-partitions 参数可以列出所有包含不同步副本的分区
–unavailable-partitions 参数可以列出所有没有首领 的分区,这些分区已经处于离线状态,对于生产者和消费者来说是不可用的。
消费者群组管理
- 列出并描述群组
–bootstrap-server参数 指定broker的 主机名和端口。
kafka-consumer-groups.sh --new-consumer --bootstrap-server ip:port/cluster --list mygroup
- 列出并描述指定群组
kafka-consumer-groups.sh --new-consumer --bootstrap-server ip:port/cluster --describe --group mygroup
group: 群组名称
topic: 正在读取主题名称
partition: 正在读取分区ID
current-offset:消费者群组最近提交的 偏移量
log-end-offset: 最近被读取消息的偏移量
owner: 正在读取该分区的消费者
3. 删除群组
在删除操作之前,必须关闭消费者
kafka-consumer-groups.sh --zk ip:port --delete --group mygroup --topic mytopic
偏移量管理
kafka-run-class.sh
显示和删除消费者群组的偏移量,获取偏移量,保存批次最新偏移量(实现偏移量的重置)
导入偏移量:导出包含分区和偏移量的文件 kafka-run-class.sh kafka.tools.ExportZkOffsets --zkconnect --group -output-file offsets
导出偏移量:使用之前导出的文件 重置消费者群组 kafka-run-class.sh kafka.tools.ImportZkOffsets --zkconnect --group --input-file offsets