kafka的主要配置

2021-07-05 20:03:56 字數 3305 閱讀 7824

##broker

標示,id

為正數,且全域性不得重複

broker.id=1

##日誌檔案儲存位置

log.dir=/kafka/logs

##broker

需要用zookeeper

儲存meta資訊

zookeeper.connect=192.168.100.104:9092, 192.168.100.105:9092,192.168.100.106:9092

##用來監聽連線的埠,生產者和消費者將在這個埠上建立連線

port=9092

##指定

broker

例項繫結的網路介面位址

host.name=192.168.100.104

##每個

partition

的備份個數,預設為

1,應根據實際環境配置 ##

此值大意味著向各個

broker

上同步訊息時,延時較大

num.partitions=2

##日誌檔案中每個

segment

的大小,預設是1g

log.segment.bytes=1024*1024*1024

##滾動生成新的

segment

檔案的時間

log.roll.hours=7*24

##segment

檔案將被保留的最大時間,超時間將被刪除

log.retention.hours=7*24

##partition

的buffer

中訊息的條數,達到閾值,將被

flush

到磁碟

log.flush.interval.messages=10000

##訊息

buffer

的時間,達到閾值,將被

flush

到磁碟

log.flush.interval.ms=3000

##partition

的leader

等待follower

同步訊息的時間,如果超時,

leader

將follower

從同步列表中刪除

replica.lag.tine.max.ms=10000

##允許

follower

落後訊息的最大條數,如果達到閾值,

leader

將follower

從同步列表

replica.lag.tine.max。message=4000

##訊息備份的個數,預設是1

num.replica.fetchers=1

##對於開發人員來說,需要通過

broker.list

來指定producer

需要關注的

broker

列表,producer

通過與每個

broker

建立連線來獲取並獲取

partitions

,如果某個

broker

連線建立失敗,將導致以上的

partitions

無法繼續發布訊息,格式是:

host1:port,host2:port

metadata.broker.list=192.168.100.104:9092,192.168.100.105:9092,192.168.100.106:9092

##producer

接收訊息

ack的機制,預設為0

##0:

producer

不會等待

broker

的ack

##1:當leader

收到訊息後傳送

ack

##2:所有的

follower

都接到訊息後,傳送

ack

request.required.ack=1

##producer

傳送訊息的模式,同步或者是非同步 ##

非同步意味著訊息在本地

buffer

,並適時的批量傳送 ##

預設是async

,建議用

async

producer.type=sync

##訊息序列化類,將訊息轉化成

byte

serializer.class=kafka.serializer.defaultencoder

##訊息路由類,訊息在傳送時,將根據此例項的方法獲取

partition

的索引號

partitioner.class=kafka.prducer.defaultpartitioner

##訊息壓縮方法

none

、gzip、

compression.codec=none

##訊息在

producer

端buffer

的條數,僅在

producer.type=async

時有效

batch.num.messages=200

##當前消費者的

group

名稱,需要指定

group.id=test-consummer-group

##consummer

作為zookeeperclient

,需要通過

zk儲存一些

meta

資訊,此處為

zk connectstring

zookeeper.connect=hostname1:port, hostname2:port,hostname3:port

##當前

consummer

的標識,可以設定,也可以由系統生成

consumer.id=12

##獲取訊息的最大尺寸,

broker

不會向consummer

輸出大於此值的訊息

chuck ##

每次fetch

將得到多條訊息,此值為總大小

fetch.messages.max.bytes=1024*1024##當

consummer

消費一定量訊息之後,將會自動向

zookeeper

提交offset資訊

##注意

offset

訊息並不是每消費依稀訊息,就像

zk提交一次,而是先在本地儲存,並定期提交

auto.commit.enable=true

##自動提交時間間隔,預設是1分鐘

auto.commit.enable=60*1000

Kafka的配置要點

consumer 負載低的情況下可以每個執行緒消費多個partition。但負載高的情況下,consumer 執行緒數最好和partition數量保持一致。見 四.consumer和partition partition 1天有 1億行可以分8個分割槽,如果每天幾十萬行就乙個分割槽 見 佇列限制 主...

Kafka 配置說明

配置檔案在config server.properties 下面的一些配置可能是你需要進行修改的。broker.id 整數,建議根據ip區分 log.dirs kafka存放訊息檔案的路徑,預設 tmp kafka logs port broker用於接收producer訊息的埠 zookeeper...

Kafka集群配置

1 kafka概念 topic kafka 按照topic 分類來維護訊息,每個topic可以配置多個partition 分割槽 每個分割槽只能被乙個消費者消費,每個partition對應乙個commit log檔案 producer 我們將發布 publish 訊息到topic的程序稱之為生產者 ...