1. 程式人生 > >kafka常用命令列(轉)

kafka常用命令列(轉)

建立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