Kafka常用运维操作
创建主题
kafka-topics.sh --zookeeper localhost:2181 --create --topic my-topic --replication-factor 3 --partitions 3
查看主题列表
kafka-topics.sh --zookeeper localhost:2181 --list
查看主题状态
kafka-topics.sh --describe --zookeeper 127.0.0.1:2181 --topic TestTopic
修改主题分区
kafka-topics.sh --alter --zookeeper 127.0.0.1:2181 --topic g5 --partitions 3
重新分配Partition和复制因子
kafka-reassign-partitions
--generate: 根据给予的Topic列表和Broker列表生成迁移计划。generate并不会真正进行消息迁移,而是将消息迁移计划计算出来,供execute命令使用。
--execute: 根据给予的消息迁移计划进行迁移。
--verify: 检查消息是否已经迁移完成。
例子:
kafka-reassign-partitions.sh --zookeeper 10.80.0.34:2181,10.80.0.36:2181,10.80.0.39:2181 --reassignment-json-file topic.json --execute
文本:
{ "partitions": [{ "topic": "HaMonitor_PlugInMemoryQueue", "partition": 0, "replicas": [ 10, 20, 30 ] }], "version": 1 }
重新负载Leader
kafka - preferred - replica - election.sh--zookeeper 127.0 .0 .1: 2181--path - to - json - file partition.json
{ "partitions": [{ "topic": "TeldLogSysActionLogV1", "partition": 0 }, { "topic": "TeldLogSysActionLogV1", "partition": 1 }, { "topic": "TeldLogSysActionLogV1", "partition": 2 }] }
删除Topic以及Topic数据,消费者记录
删除文件:server.properties -> log.dirs=/var/kafka/log/testtopic***
删除Topic:/home/kafka/bin/kafka-topics.sh --delete --zookeeper HadoopMaster:2181/kafka --topic test
删除消费者:
zkclient.sh
rmr /kafka/consumers/test-group
rmr /kafka/config/topics/test
rmr /kafka/brokers/topics/test
rmr /kafka/admin/delete_topics/test
列出旧版本的消费者主组
kafka-consumer-groups.sh --zookeeper localhost:2181 --list
列出新版本的消费者组
kafka-consumer-groups.sh --new-consumer --bootstrap-server 172.21.50.162:9092 --list
获取旧版本消费者组的详细信息
kafka-consumer-groups.sh --zookeeper localhost:2181 --describe --group testgroup
获取新版本消费者群组testgroup的详细信息
kafka-consumer-groups.sh --new-consumer --bootstrap-server 172.21.50.162:9092 --describe --group testgroup
查看某一个topic对应的消息数量
kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list 172.21.50.162:9092 --topic my-topic --time -1
查看log日志片段的内容,显示查看日志的内容
kafka-run-class.sh kafka.tools.DumpLogSegments --files 00000000000000000000.log --print-data-log
Kafka日志配置
1、检查Kafka数据日志文件,log.dirs=/var/kafka/log/testtopic***
2、检查Kafka的运行日志文件,可以修改bin/kafka-run-class.sh中的LOG_DIR
配置Kafka外网IP地址实现远程访问
kafka0.10以下
修改server.properties 配置文件
advertised.host.name=192.168.1.118
advertised.port=9092
kafka0.10以上
listeners=PLAINTEXT://0.0.0.0:9093 //绑定所有ip
advertised.listeners=PLAINTEXT://42.159.7.75:9093