1. 程式人生 > >kafka的broker配置

kafka的broker配置

1.broker.id

每個broker都需要一個broker.id來唯一標識,它的預設值是0,也可以被設定成其他任意的整數。這個值在整個kafka叢集裡必須是唯一的,這個值是任意的整數,但是建議設定成與機器名具有相關性的整數,便於將ID號對映到機器名。例如機器名包含唯一性數字:host1.test.com/host2.test.com/host3.test.com,那麼在這2臺機器上部署的kafka的broker.id可以對應設定為broker.id=1/broker.id=2/broker.id=3

2.port

預設監聽9092,可以設定為其他任意可用的埠。不建議使用1024以下的埠,因為需要root許可權來啟動kafka。

3.zookeeper.connect

zookeeper.connect指定用於儲存broker元資料的Zookeeper地址。該配置引數是用冒號分隔的一組hostname:port/path列表,每一部分的含義如下:

hostname是Zookeeper伺服器的機器名或IP地址;

port是Zookeeper客戶端連線埠

/path是可選的Zookeeper路徑,作為Kafka機器叢集的chroot環境。如果不指定,預設使用根路徑。如果指定的chroot路徑不存在,broker會在啟動的時候建立它。一旦有一個Zookeeper伺服器宕機,broker還可以連線到Zookeeper叢集的其他節點上。

4.log.dirs

kafka把所有訊息都儲存在磁碟上,存放這些日誌片段的目錄是通過log.dirs指定的。

5.num.recovery.threads.per.data.dir

對於如下3種情況,Kafka會使用可配置的執行緒池來處理日誌片段:

伺服器正常啟動,用於開啟每個分割槽的日誌片段;

伺服器崩潰後重啟,用於檢查和截短每個分割槽的日誌片段;

伺服器正常關閉,用於關閉日誌片段。

預設配置num.recovery.threads.per.data.dir=1,設定大量執行緒進行並行操作,可以減少啟動、關閉、崩潰恢復的時間。

6. auto.create.topics.enable

預設情況下,Kafka會在如下如下幾種情形下自動建立主題:

當一個生產者開始往主題寫入訊息時;

當一個消費者開始從主題讀取訊息時;

當任意一個客戶端向主題傳送元資料請求時。