| zookeeper.connect |
zk地址 |
string |
|
|
高 |
| advertised.host.name |
過時的:只有當advertised.listeners或listeners沒有配置的時候才會生效。使用advertised.listeners代替。發布在zk上的hostname,供客戶端使用。在IaaS環境下,該值需要與broker綁定的接口不一樣。如果該值沒有配置,會使用配置的host.name。否則會使用java.net.InetAddress.getCanonicalHostName()返回的數據。 |
string |
null |
|
高 |
| advertised.listeners |
發布在zk上的監聽器,供客戶端使用,如果與其他的監聽器不一樣的話。在Iaas環境下,該值需要與broker綁定的接口不一致。如果沒有配置,會使用listener的值。 |
string |
null |
|
高 |
| advertised.port |
過時的:只有當advertised.listeners或listeners沒有配置時會生效。可以使用advertised.listeners代替。發布在zk上的端口,供客戶端使用。在Iaas環境下,需要與broker綁定的接口不一樣。如果未配置,會發布與broker綁定的一樣的接口。 |
int |
null |
|
高 |
| auto.create.topics.enable |
允許在服務器上自動創建主題(topic) |
boolean |
true |
|
高 |
| auto.leader.rebalance.enable |
允許自動主平衡。后台線程定時校驗和觸發主平衡。 |
boolean |
true |
|
高 |
| background.threads |
后台處理任務的線程數 |
int |
10 |
[1...] |
高 |
| broker.id |
服務器的broker編號。如果不配置,會自動生成唯一的id。為了避免zk生成的broker編碼和用戶配置編碼的沖突,生成的broker編碼從reserved.broker.max.id + 1開始。 |
int |
-1 |
|
高 |
| compression.type |
指定一個主題最后的壓縮類型。這個配置項接收標准的壓縮編碼(gzip,snappy,lz4)。還可以配置為uncompressed,表示不壓縮。也可以配置為producer,表示與生產者配置的壓縮類型一致。 |
string |
producer |
|
高 |
| delete.topic.enable |
可以刪除主題。如果設置為關閉,那么通過管理工具刪除主題是無效的。 |
boolean |
false |
|
高 |
| host.name |
過時的:只有當listeners沒有配置時才會生效。使用listeners來代替。broker的主機名稱。如果配置該項,broker只會綁定到這個地址,如果不配置,會綁定所有接口。 |
string |
"" |
|
高 |
| leader.imbalance.check.interval.seconds |
控制器觸發分區調整校驗的頻率。 |
long |
300 |
|
高 |
| leader.imbalance.per.broker.percentage |
每個broker允許的不平衡的leader的比率。如果每個broker超過了這個值,控制器會觸發leader的平衡。這個值表示百分比。 |
int |
10 |
|
高 |
| listeners |
監聽器列表-逗號隔開,包含協議和鏈接。如果想綁定到所有的接口,需要把主機名設置為0.0.0.0。如果要綁定到特定的接口,主機名為空。示例:PLAINTEXT://myhost:9092,TRACE://:9091或者PLAINTEXT://0.0.0.0:9092, TRACE://localhost:9093 |
string |
null |
|
高 |
| log.dir |
日志數據存儲的目錄(log.dirs屬性的補充) |
string |
/tmp/kafka-logs |
|
高 |
| log.dirs |
日志文件存儲的目錄,如果不配置,則使用log.dir。 |
string |
null |
|
高 |
| log.flush.interval.messages |
在消息刷到磁盤之前,日志分區收集的消息數量 |
long |
9223372036854775807 |
|
高 |
| log.flush.interval.ms |
主題中消息在刷到磁盤之前,保存在內存中的最長時間,單位是ms,如果不配置,使用log.flush.scheduler.interval.ms的配置 |
long |
null |
|
高 |
| log.flush.offset.checkpoint.interval.ms |
更新上次刷磁盤的記錄的頻率,可以作為日志恢復點 |
int |
60000 |
[0...] |
高 |
| log.flush.scheduler.interval.ms |
單位為毫秒,日志刷新器檢查日志是否需要刷到磁盤的頻率 |
long |
9223372036854775807 |
|
高 |
| log.retention.bytes |
日志被刪除前最大量 |
long |
-1 |
|
高 |
| log.retention.hours |
日志保留的最大小時數,log.retention.ms的第三位 |
int |
168 |
|
高 |
| log.retention.minutes |
日志文件保留的分鍾數,log.retention.ms的第二位,如果不配,使用log.retention.hours |
int |
null |
|
高 |
| log.retention.ms |
日志文件保留的毫秒數,如果不配,使用log.retention.minutes |
long |
null |
|
高 |
| log.roll.hours |
即使文件沒有到達log.segment.bytes,只要文件創建時間到達此屬性,就會創建新文件。 |
int |
168 |
[1...] |
高 |
| log.roll.jitter.hours |
指定日志切分段的小時數,避免日志切分時造成驚群 |
int |
0 |
[0...] |
高 |
| log.roll.jitter.ms |
指定日志切分段的毫秒數,如果不設置,默認使用log.roll.jitter.hours |
long |
null |
|
高 |
| log.roll.ms |
數據文件切分的時間間隔,與大小限制同時起作用的 |
long |
null |
|
高 |
| log.segment.bytes |
數據文件大小 |
int |
1073741824 |
[14...] |
高 |
| log.segment.delete.delay.ms |
保存已刪除日志的時間 |
long |
60000 |
[0...] |
高 |
| message.max.bytes |
表示log中能夠容納消息的最大字節數 |
int |
1000012 |
[0,...] |
高 |
| min.insync.replicas |
該屬性規定了最小的ISR數 |
int |
1 |
[1,...] |
高 |
| num.io.threads |
執行磁盤IO的線程數 |
int |
8 |
[1,...] |
高 |
| num.network.threads |
處理網絡請求的線程數 |
int |
3 |
[1,...] |
高 |
| num.recovery.threads.per.data.dir |
啟停時做日志恢復每個目錄所需的線程數,采用RAID的時候可以增大該值 |
int |
1 |
[1,...] |
高 |
| num.replica.fetchers |
從leader備份數據的線程數。該值越大,從broker的IO同步能力越強。 |
int |
1 |
|
高 |
| offset.metadata.max.bytes |
客戶端保留offset信息的最大空間大小 |
int |
4096 |
|
高 |
| offsets.commit.required.acks |
在offset commit可以接受之前,需要設置確認的數目,一般不需要更改 |
short |
-1 |
|
高 |
| offsets.commit.timeout.ms |
只有所有replicas收到提交或者達到這個超時值,否則偏移量提交延遲。 |
int |
5000 |
[1,...] |
高 |
| offsets.load.buffer.size |
將偏移量加載到緩存中時,從偏移量區讀取的大小限制。 |
int |
5242880 |
[1,...] |
高 |
| offsets.retention.check.interval.ms |
檢查舊的偏移量的頻率,單位是毫秒 |
long |
600000 |
[1,...] |
高 |
| offsets.retention.minutes |
偏移量主題的日志保留窗口,單位是分鍾 |
int |
1440 |
[1,...] |
高 |
| offsets.topic.compression.codec |
偏移量主題的壓縮編碼,壓縮可以用於原子提交 |
int |
0 |
|
高 |
| offsets.topic.num.partitions |
偏移量提交主題的分區數量(部署后不應該修改) |
int |
50 |
[1,...] |
高 |
| offsets.topic.replication.factor |
偏移量主題的復制因子(盡量設置高點,保證可用性)。為了確保偏移量主題的有效復制因子是配置的值,活躍kafka集群的數量至少是第一次請求偏移量時的復制因子。如果不是,要么創建偏移量主題會失敗,要么會獲得一個最小量(活躍集群,配置的復制因子) |
short |
3 |
[1,...] |
高 |
| offsets.topic.segment.bytes |
偏移量主題的分區大小應該設置相對小,為了保證更快的日志壓縮和緩存加載 |
int |
104857600 |
[1,...] |
高 |
| port |
過時的:只有當listener沒有配置時才會生效,是指監聽和獲取連接的端口。 |
int |
9092 |
|
高 |
| queued.max.requests |
加入隊列的最大請求數(超過該值,network thread阻塞) |
int |
500 |
[1,...] |
高 |
| quota.consumer.default |
如果不同的消費者的每秒消費速度超過了這個值,就會被控制速度。 |
long |
9223372036854775807 |
[1,...] |
高 |
| quota.producer.default |
如果任何生產者的生產速度超過了這個值,就會被控制速率。 |
long |
9223372036854775807 |
[1,...] |
高 |
| replica.fetch.max.bytes |
一次性獲取的消息數量的最大限制 |
int |
1048576 |
|
高 |
| replica.fetch.min.bytes |
一次性獲取的消息數量的最小值,如果達不到這個值,需要等待最多replicaMaxWaitTimeMs |
int |
1 |
|
高 |
| replica.fetch.wait.max.ms |
每個消費請求的最大等待時間,這個值應該總是小於replica.lag.time.max.ms,以防止因為低吞吐量的主題,導致的頻繁減少ISR的數量 |
int |
500 |
|
高 |
| replica.high.watermark.checkpoint.interval.ms |
每個replica檢查是否將最高水位進行固化的頻率 |
long |
5000 |
|
高 |
| replica.lag.time.max.ms |
如果一個follower在這個時間內沒有發送fetch請求,leader將從ISR重移除這個follower,並認為這個follower已經掛了 |
long |
10000 |
|
高 |
| replica.socket.receive.buffer.bytes |
備份時向leader發送網絡請求時的socket receive buffer |
int |
65536 |
|
高 |
| replica.socket.timeout.ms |
網絡連接超時。這個值應該至少為replica.fetch.wait.max.ms |
int |
30000 |
|
高 |
| request.timeout.ms |
這個配置控制客戶端等待響應的最大時間。如果在規定時間內沒有響應,客戶端會根據需要重新發起請求。如果超過了重試次數,客戶端會將這次請求置為失敗。 |
int |
30000 |
|
高 |
| socket.receive.buffer.bytes |
socket用於接收網絡請求的緩存大小 |
int |
102400 |
|
高 |
| socket.request.max.bytes |
server允許的最大請求尺寸; 這將避免server溢出,它應該小於Java heap size |
int |
104857600 |
[1,...] |
高 |
| socket.send.buffer.bytes |
SO_SNDBUFF 緩存大小,server進行socket 連接所用 |
int |
102400 |
|
高 |
| unclean.leader.election.enable |
指明了是否能夠使不在ISR中replicas設置用來作為leader,盡管這么做可能會導致數據丟失 |
boolean |
true |
|
高 |
| zookeeper.connection.timeout.ms |
客戶端等待連接到zk的最大時間。如果不設置,系統默認使用zookeeper.session.timeout.ms |
int |
null |
|
高 |
| zookeeper.session.timeout.ms |
zk的session超時時間 |
int |
6000 |
|
高 |
| zookeeper.set.acl |
設置客戶端使用zk的安全策略ACLs |
boolean |
false |
|
高 |
| broker.id.generation.enable |
是否啟用集群機器id自動生成?如果啟用,會檢查配置的reserved.broker.max.id |
boolean |
true |
|
高 |