kafka入門-基本命令操作_kafka

來源:互聯網
上載者:User

kafka安裝沒有介紹,可以參考網上資料,這裡主要介紹一下常用的命令,方便日常營運和調試。 啟動kafka

bin/kafka-server-start.sh config/server.properties 

建立topic

bin/kafka-topics.sh --zookeeper **:2181 --create --topic ** --partitions 30 --replication-factor 2

註:第一個**ip地址,第二個**主題名稱partitions分區數量 replication-factor 分區副本數

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 **:2181 --list

查詢topic資訊

bin/kafka-topics.sh --zookeeper **:2181 --describe --topic **

控制台向topic生產資料

bin/kafka-console-producer.sh --broker-list **:9092 --topic **

控制台消費topic的資料

bin/kafka-console-consumer.sh --zookeeper **2181 --topic ** --from-beginning

查看topic某分區位移量最大(小)值

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --topic hive-mdatabase-hostsltable  --time -1 --broker-list **:9092 --partitions 0

註: time為-1時表示最大值,time為-2時表示最小值 增加topic分區數

bin/kafka-topics.sh --zookeeper node01:2181  --alter --topic ** --partitions 10

刪除topic,慎用,只會刪除zookeeper中的中繼資料,訊息檔案須手動刪除

bin/kafka-run-class.sh kafka.admin.DeleteTopicCommand --zookeeper **:2181 --topic **

檔案在logs下面,以主題為命名的檔案,選擇備份數replication-factor 是幾就會在幾個節點上出現 查看消費進度

bin/kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper **:2181 --group ** --topic **

其中group 是groupid消費者名稱。查詢辦法是從zookeeper中查詢。查詢方式如下:

[hadoop@h71 zookeeper-3.4.5-cdh5.5.2]$ bin/zkCli.sh
[zk: localhost:2181(CONNECTED) 2] ls /consumers

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.