kafka 經常使用參數

一般的講:kafka 的參數分爲 Broker Configs 和 Topic-Level Configs,以 min.insync.replicas 爲例,能夠在 broker 和 topic 級別設置。apache

 

listeners=PLAINTEXT://192.168.40.8:9092接口

kafka 實際監聽的地址kafka

 

advertised.listeners=PLAINTEXT://192.168.40.8:9092it

kafka 註冊到 zk 中地址。客戶端鏈接到 kafka 集羣的任一 broker,該 broker 會返回 zk 中的 broker 信息。io

 

min.insync.replicas=1class

至少須要等 1 個副本確認後,producer 發送消息纔算成功test

 

auto.offset.reset=latest, earliest集羣

新建一個消費組,latest 表示從最新的位置開始消費,earliest 表示從最舊的位置開始。原理是重置位點。原理

若是消費組已經存在,必然有位點信息,則會使用現有位點信息。cli

 

enable.auto.commit = false

是否自動提交。若是客戶端一直不提交,則沒有位點信息,而 auto.offset.reset 設爲 latest 的話,則一直拉最新的消息。

 

producer 參數,默認爲 1

acks = -1, 0, 1 

設爲 -1,須要和 min.insync.replicas 配合(一個典型的場景是,topic 3 副本,客戶端設置 acks = -1,服務端設置 topic level 的 min.insync.replicas = 2,這樣至少有 2 個副本寫入後,broker 纔會返回);

設爲 0,不須要等;

設爲 1,leader 寫入本地後,即返回。

https://hackernoon.com/apache-kafkas-distributed-system-firefighter-the-controller-broker-1afca1eae302

 

partitioner.class

producer 的參數,默認值是 org.apache.kafka.clients.producer.internals.DefaultPartitioner,能夠本身實現 Partitioner 接口,指定發送消息到哪一個分區的規則。

相關文章
相關標籤/搜索