kafka的一些常用命令
- 依次在各节点上启动: kafkabin/kafka-server-start.sh config/server.properties
- 查看当前服务器中的所有topic
bin/kafka-topics.sh --list --zookeeper hadoop01:2181
- 创建topic
bin/kafka-topics.sh --create --zookeeper hadoop01:2181 --replication-factor 1 --partitions 3 --topic CustomerContacts
- 删除topic
bin/kafka-topics.sh --delete --zookeeper hadoop01:2181 --topic CustomerContacts
需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。
- 通过shell命令发送消息
sh bin/kafka-console-producer.sh --broker-list kafka01:9092 --topic test
- 通过shell消费消息
bin/kafka-console-consumer.sh --zookeeper hadoop01:2181 --from-beginning --topic test
- 查看消费位置
bin/kafka-run-cla.ss.sh kafka.tools.ConsumerOffsetChecker --zookeeper zk01:2181 --group testGroup
- 查看某个Topic的详情
bin/kafka-topics.sh --topic test --describe --zookeeper hadoop01:2181
- 对分区数进行修改
kafka-topics.sh --zookeeper zk01 --alter --partitions 15 --topic utopic
查看当前topic的消费进度
bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper zk01:2181 --group nt1 --topic master5
查看分区的情况:
bin/kafka-topics.sh --describe --zookeeper hadoop01:2181 --topic ConsumerAAAA
0.9版本:
1:查看consumer group列表
查看consumer group列表有新、旧两种命令,分别查看新版(信息保存在broker中)consumer列表和老版(信息保存在zookeeper中)consumer列表,因而需要区分指定bootstrap--server和zookeeper参数:
查看新版(信息保存在broker中)consumer列表:
bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server hadoop01:9092 --list
老版(信息保存在zookeeper中)consumer列表:
bin/kafka-consumer-groups.sh --zookeeper hadoop01:2181 --list
2:查看特定consumer group 详情
同样根据新/旧版本的consumer,分别指定bootstrap-server与zookeeper参数:
新版本
bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server hadoop01:9092 --group CustomerContacts --describe
旧版本
bin/kafka-consumer-groups.sh --zookeeper hadoop01:2181 --group CustomerContacts --describe
删除 consumers
原因: 重置 offset, 或者是强迫症想清空不用的 consumer
操作:
# 进入控制台 bin/zookeeper-shell.sh localhost:2181 # 查看所有消费者 ls /consumers # fuck rmr /consumers/hangou # 再查看 没了 ls /consumers
删除 topics
原因: 腾出空间
操作:
- 物理删除数据
# 进入 server.properties 里配置的数据目录 log.dirs=/data/kafka-logs cd /data/kafka-logs/ # 删除对应 topic 目录, 配置了多少分区这就有多少目录 rm -rf lion_sql-log*
- 删除 zookeeper 里的记录
# 进入控制台 bin/zookeeper-shell.sh localhost:2181 # 查看当前的所有 topics, 发现刚删除的 topics 还在这里躺着 ls /brokers/topics/ # fuck you rmr /brokers/topics/lion_sql-log # 再查看 没了 ls /brokers/topics