Kafka系列之broker配置

2021-09-02 19:16:40 字數 2547 閱讀 5691

本文件的引數主要針對是kafka 0.10.0版本。

對應kafka安裝目錄config/server.properties檔案的配置

broker.id

每乙個kafka的broker都有乙個整數的標識。我們設定broker.id來標識它。預設這個整數是0。這個整數必須是在乙個集群中是唯一的,且必須》=0。推薦該值能對應上broker所在的主機名。

port

該值是監聽tcp的埠。預設是配置9092。可以設定可用的任意埠,不過需要注意的是如果該值小於1024,kafka必須以root許可權啟動。使用root許可權啟動並不推薦。

zookeeper.connect

連線zk的配置,預設配置localhost:2181。存放broker的元資料。配置值格式是:hostname:port/path,如果多個以分號隔開。

hostname:zk的hostname或者ip位址

port:客戶端的與zk通訊的埠

path:乙個可選的zk路徑引數。kafka集群如果使用了chroot環境,需要設定該引數。如果沒有配置,使用root路徑。如果path配置了,但是kafka集群沒有使用chroot環境,那麼該path路徑會在broker啟動的時候建立。(推薦使用該配置,可以與其他kafka集群共用乙個zk,且沒有衝突)

log.dirs

kafka會保留訊息到磁碟,並且這些日誌片段會按目錄區分存放在log.dirs配置的路徑,多個配置使用英文逗號隔開。

num.recovery.threads.per.data.dir

kafka可以配置乙個執行緒池,執行緒池的使用場景如下:

當正常啟動的時候,開啟每個parition的文件塊segment

當失敗後重啟時,檢查parition的文件塊

當關閉kafka的時候,清除關閉文件塊

預設,每個目錄只有乙個執行緒。最好是設定多個執行緒數,這樣在伺服器啟動或者關閉的時候,都可以並行的進行操作。尤其是當非正常停機後,重啟時,如果有大量的分割槽數,那麼啟動broker將會花費大量的時間。注意,這個引數是針對每個目錄的。比如,num.recovery.threads.per.data.dir設定為8,如果有3個log.dirs路徑,那麼一共會有24個執行緒。

auto.create.topics.enable

配置是否開啟自動建立topic的許可權。預設該值為true。表示kafka會在以下三種情況下自動建立topic: 

- 當生產者開始往topic傳送訊息的時候 

- 當消費者開始從topic消費訊息的時候 

- 當任何客戶端請求topic的元資料的時候

num.partitions

topic建立需要多少分割槽。預設是1。分割槽數量一旦設定,只能增加,不能減少。

log.retention.ms

日誌保留的時間,日誌片段被關閉後開始計算,超過該時間,日誌將被清理。同log.retention.hours、log.retention.minutes意思。推薦使用log.retention.ms配置。三個都配置,優先使用log.retention.ms

log.retention.bytes

日誌保留的位元組,超過該配置,日誌將被清理。應用在每乙個分割槽。如果log.retention.ms與該配置都有,將會同時起作用。

log.segment.bytes

日誌片段的大小設定,預設1gb。超過設定的大小,該日誌片段會關閉,再重新建立乙個日誌片段存放日誌。一旦日誌片段關閉了,說明該日誌片段可以清理了。該值設定過小,可能會頻繁關閉檔案與建立檔案,極大降低磁碟的寫效能。

log.roll.hours

日誌片段的時間設定。超過設定的時間,該日誌片段會關閉,再重新建立乙個日誌片段存放日誌。當該配置與log.segment.bytes都配置的時候,同時起作用。同log.roll.ms,兩個都配置,優先使用log.roll.ms。

message.max.bytes

生產者傳送給broker訊息的最大位元組數。預設值是1000000,也就是1mb。生產者傳送的訊息超過該設定,會被broker拒絕接收,並且會收到broker的錯誤報告。

kafka 詳細配置(broker)

以下是kafka broker 詳細配置的引數 預設值 描述 引數 預設值 描述 broker.id 1 每乙個boker都有乙個唯一的id作為它們的名字。當該伺服器的ip位址發生改變時,broker.id沒有變化,則不會影響consumers的訊息情況 port 9092 broker serve...

kafka入門之broker 副本與ISR設計

kafka把分割槽的所有副本均勻地分配到所有broker上,並從這些副本中挑選乙個作為leader副本對外提供服務,而其他副本被稱為follower副本,只能被動地向leader副本請求資料,從而保持與leader副本的同步 所謂isr,就是kafka集群動態維護的一組同步副本集合,每個topic分...

kafka單節點broker安裝

1.先安裝zookeeper 3.解壓到指定目錄 4.配置環境變數 5.配置server.properties kafka home config zookeeper zookeeper.connect 你的zookeeper位址 6.啟動 kafka server kafka server sta...