kafka常用命令列(轉)
阿新 • • 發佈:2019-02-16
建立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
#把topic標記為刪除
bin/kafka-topics.sh --delete --zookeeper node01:2181 --topic t_cdr
#登入zookeeper
zkCli.sh -server node01:2181
#找到t_cdr topic所在目錄
ls /brokers/topics
#徹底刪除此topic
rmr /brokers/topics/t_cdr
#檢查kafka日誌目錄是否有未刪除的topic目錄
ls /tmp/kafka-logs/
檢視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