Kafka Shell基本命令(包括topic的增刪改查)
阿新 • • 發佈:2018-03-07
pre table kafka tool for del 生產 scribe 風險
本節內容:
- 創建kafka topic
- 查看所有topic列表
- 查看指定topic信息
- 控制臺向topic生產數據
- 控制臺消費topic的數據
- 查看topic某分區偏移量最大(小)值
- 增加topic分區數
- 刪除topic,慎用,只會刪除zookeeper中的元數據,消息文件須手動刪除
- 查看topic消費進度
創建kafka topic
bin/kafka-topics.sh --zookeeper node01:2181 --create --topic t_cdr --partitions 30 --replication-factor 2
註: partitions指定topic分區數,replication-factor指定topic每個分區的副本數
- partitions分區數:
- partitions :分區數,控制topic將分片成多少個log。可以顯示指定,如果不指定則會使用broker(server.properties)中的num.partitions配置的數量
- 雖然增加分區數可以提供kafka集群的吞吐量、但是過多的分區數或者或是單臺服務器上的分區數過多,會增加不可用及延遲的風險。因為多的分區數,意味著需要打開更多的文件句柄、增加點到點的延時、增加客戶端的內存消耗。
- 分區數也限制了consumer的並行度,即限制了並行consumer消息的線程數不能大於分區數
- 分區數也限制了producer發送消息是指定的分區。如創建topic時分區設置為1,producer發送消息時通過自定義的分區方法指定分區為2或以上的數都會出錯的;這種情況可以通過alter –partitions 來增加分區數。
- replication-factor副本
- replication factor 控制消息保存在幾個broker(服務器)上,一般情況下等於broker的個數。
- 如果沒有在創建時顯示指定或通過API向一個不存在的topic生產消息時會使用broker(server.properties)中的default.replication.factor配置的數量
-
查看所有topic列表
bin/kafka-topics.sh --zookeeper node01:2181 --list
查看指定topic信息
bin/kafka-topics.sh --zookeeper node01:2181 --describe --topic t_cdr
控制臺向topic生產數據
bin/kafka-console-producer.sh --broker-list node86:9092 --topic t_cdr
控制臺消費topic的數據
bin/kafka-console-consumer.sh --zookeeper node01:2181 --topic t_cdr --from-beginning
查看topic某分區偏移量最大(小)值
bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic hive-mdatabase-hostsltable --time -1 --broker-list node86:9092 --partitions 0
註: time為-1時表示最大值,time為-2時表示最小值
增加topic分區數
為topic t_cdr 增加10個分區
bin/kafka-topics.sh --zookeeper node01:2181 --alter --topic t_cdr --partitions 10
刪除topic,慎用,只會刪除zookeeper中的元數據,消息文件須手動刪除
bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper node01:2181 --topic t_cdr
查看topic消費進度
這個會顯示出consumer group的offset情況, 必須參數為--group, 不指定--topic,默認為所有topic
Displays the: Consumer Group, Topic, Partitions, Offset, logSize, Lag, Owner for the specified set of Topics and Consumer Group
$ bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker required argument: [group] Option Description ------ ----------- --broker-info Print broker info --group Consumer group. --help Print this message. --topic Comma-separated list of consumer topics (all topics if absent). --zkconnect ZooKeeper connect string. (default: localhost:2181) Example, bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --group pv Group Topic Pid Offset logSize Lag Owner pv page_visits 0 21 21 0 none pv page_visits 1 19 19 0 none pv page_visits 2 20 20 0 none
Kafka Shell基本命令(包括topic的增刪改查)