1. 程式人生 > >Kafka的配置檔案詳細描述

Kafka的配置檔案詳細描述

#指定kafka節點列表,用於獲取metadata,不必全部指定
#需要kafka的伺服器地址,來獲取每一個topic的分片數等元資料資訊。
metadata.broker.list=kafka01:9092,kafka02:9092,kafka03:9092

#生產者生產的訊息被髮送到哪個block,需要一個分組策略。
#指定分割槽處理類。預設kafka.producer.DefaultPartitioner,表通過key雜湊到對應分割槽
#partitioner.class=kafka.producer.DefaultPartitioner

#生產者生產的訊息可以通過一定的壓縮策略(或者說壓縮演算法)來壓縮。訊息
被壓縮後傳送到broker叢集,
#而broker叢集是不會進行解壓縮的,broker集
群只會把訊息傳送到消費者叢集,然後由消費者來解壓縮。 #是否壓縮,預設0表示不壓縮,1表示用gzip壓縮,2表示用snappy壓縮。 #壓縮後訊息中會有頭來指明訊息壓縮型別,故在消費者端訊息解壓是透明的無需指定。 #文字資料會以1比10或者更高的壓縮比進行壓縮。 compression.codec=none #指定序列化處理類,訊息在網路上傳輸就需要序列化,它有String、陣列等許多種實現。 serializer.class=kafka.serializer.DefaultEncoder #如果要壓縮訊息,這裡指定哪些topic要壓縮訊息,預設empty,表示不壓縮。
#如果上面啟用了壓縮,那麼這裡就需要設定 #compressed.topics= #這是訊息的確認機制,預設值是0。在面試中常被問到。 #producer有個ack引數,有三個值,分別代表: #(1)不在乎是否寫入成功; #(2)寫入leader成功; #(3)寫入leader和所有副本都成功; #要求非常可靠的話可以犧牲效能設定成最後一種。 #為了保證訊息不丟失,至少要設定為1,也就 #是說至少保證leader將訊息儲存成功。 #設定傳送資料是否需要服務端的反饋,有三個值0,1,-1,分別代表3種狀態: #0: producer不會等待broker傳送ack。生產者只要把訊息傳送給broker之後,就認為傳送成功了,這是第1種情況;
#1: 當leader接收到訊息之後傳送ack。生產者把訊息傳送到broker之後,並且訊息被寫入到本地檔案,才認為傳送成功,這是第二種情況;#-1: 當所有的follower都同步訊息成功後傳送ack。不僅是主的分割槽將訊息儲存成功了,
#而且其所有的分割槽的副本數也都同步好了,才會被認為發動成功,這是第3種情況。
request.required.acks=0 #broker必須在該時間範圍之內給出反饋,否則失敗。 #在向producer傳送ack之前,broker允許等待的最大時間 ,如果超時, #broker將會向producer傳送一個error ACK.意味著上一次訊息因為某種原因 #未能成功(比如follower未能同步成功) request.timeout.ms=10000 #生產者將訊息傳送到broker,有兩種方式,一種是同步,表示生產者傳送一條,broker就接收一條;
#還有一種是非同步,表示生產者積累到一批的訊息,裝到一個池子裡面快取起來,再發送給broker,
#這個池子不會無限快取訊息,在下面,它分別有一個時間限制(時間閾值)和一個數量限制(數量閾值)的引數供我們來設定。
#一般我們會選擇非同步。
#同步還是非同步傳送訊息,預設“sync”表同步,"async"表非同步。非同步可以提高發送吞吐量,
#也意味著訊息將會在本地buffer中,並適時批量傳送,但是也可能導致丟失未傳送過去的訊息
producer.type=sync #在async模式下,當message被快取的時間超過此值後,將會批量傳送給broker, #預設為5000ms #此值和batch.num.messages協同工作. queue.buffering.max.ms = 5000 #非同步情況下,快取中允許存放訊息數量的大小。 #在async模式下,producer端允許buffer的最大訊息量 #無論如何,producer都無法儘快的將訊息傳送給broker,從而導致訊息在producer端大量沉積 #此時,如果訊息的條數達到閥值,將會導致producer端阻塞或者訊息被拋棄,預設為10000條訊息。 queue.buffering.max.messages=20000 #如果是非同步,指定每次批量傳送資料量,預設為200 batch.num.messages=500 #在生產端的緩衝池中,訊息傳送出去之後,在沒有收到確認之前,該緩衝池中的訊息是不能被刪除的,
#但是生產者一直在生產訊息,這個時候緩衝池可能會被撐爆,所以這就需要有一個處理的策略。
#有兩種處理方式,一種是讓生產者先別生產那麼快,阻塞一下,等會再生產;另一種是將緩衝池中的訊息清空。
#當訊息在producer端沉積的條數達到"queue.buffering.max.meesages"後阻塞一定時間後,
#佇列仍然沒有enqueue(producer仍然沒有傳送出任何訊息)
#此時producer可以繼續阻塞或者將訊息拋棄,此timeout值用於控制"阻塞"的時間 #-1: 不限制阻塞超時時間,讓produce一直阻塞,這個時候訊息就不會被拋棄 #0: 立即清空佇列,訊息被拋棄 queue.enqueue.timeout.ms=-1 #當producer接收到error ACK,或者沒有接收到ACK時,允許訊息重發的次數 #因為broker並沒有完整的機制來避免訊息重複,所以當網路異常時(比如ACK丟失) #有可能導致broker接收到重複的訊息,預設值為3. message.send.max.retries=3 #producer重新整理topic metada的時間間隔,producer需要知道partition leader #的位置,以及當前topic的情況 #因此producer需要一個機制來獲取最新的metadata,當producer遇到特定錯誤時, #將會立即重新整理 #(比如topic失效,partition丟失,leader失效等),此外也可以通過此引數來配置 #額外的重新整理機制,預設值600000 topic.metadata.refresh.interval.ms=60000

相關推薦

Kafka配置檔案詳細描述

#指定kafka節點列表,用於獲取metadata,不必全部指定 #需要kafka的伺服器地址,來獲取每一個topic的分片數等元資料資訊。 metadata.broker.list=kafka01:9092,kafka02:9092,kafka03:9092 #生產者生產的訊息被髮送到哪個block,需

mysql——mysql.cnf配置檔案詳細介紹

mysql配置檔案載入順序 Default options are read from the following files in the given order: 載入順序:/etc/my.cnf   /etc/mysql/my.cnf &nbs

OpenVPN Server端配置檔案詳細說明(轉)

本文將介紹如何配置OpenVPN伺服器端的配置檔案。在Windows系統中,該配置檔案一般叫做server.ovpn;在Linux/BSD系統中,該配置檔案一般叫做server.conf。雖然配置檔名稱不同,但其中的配置內容與配置方法卻是相同的。 本文根據官方提供的server.ovpn示例檔案直

Top20的OpenSSH伺服器最佳安全實踐--SSHD_CONFIG配置檔案詳細解讀

  OpenSSH是SSH協議的實現。建議使用OpenSSH進行遠端登入,備份,通過scp或sftp進行遠端檔案傳輸等等。SSH非常適合保持兩個網路和系統之間交換的資料的機密性和完整性。但是,主要優點是伺服器身份驗證,通過使用公鑰加密。有時會有關於OpenSSH零日攻擊的傳聞。此頁面顯

Kafka配置檔案詳解

Kafka配置檔案詳解 1. 生產端的配置檔案 producer.properties 2. 消費端的配置檔案 consumer.properties: 3.服務端的配置檔案 server.properties

kafka(06)——kafka配置檔案的說明

server.properties的配置說明 #broker的全域性唯一編號,不能重複 broker.id=0 #用來監聽連結的埠,producer或consumer將在此埠建立連線 port=9092 #處理網路請求的執行緒數量 num.network.t

Nginx配置檔案詳細說明

#執行使用者 user www-data;     #啟動程序,通常設定成和cpu的數量相等 worker_processes  1; #全域性錯誤日誌及PID檔案 error_log  /var/log/nginx/error.log; pid        /var/

kafka配置檔案詳解之:server.properties

#每一個broker在叢集中的唯一表示,要求是正數。當該伺服器的IP地址發生改變時,broker.id沒有變化,則不會影響consumers的訊息情況broker.id=0#broker server服務埠 port =9092#處理網路請求的執行緒數量num

redis.conf配置檔案詳細解析

 轉自:http://www.cnblogs.com/kreo/p/4423362.html # redis 配置檔案示例 # 當你需要為某個配置項指定記憶體大小的時候,必須要帶上單位, # 通常的格式就是 1k 5gb 4m 等醬紫: # # 1k => 1000 byte

OpenVPN server端配置檔案詳細說明

 本文將介紹如何配置OpenVPN伺服器端的配置檔案。在Windows系統中,該配置檔案一般叫做server.ovpn;在Linux/BSD系統中,該配置檔案一般叫做server.conf。雖然配置檔名稱不同,但其中的配置內容與配置方法卻是相同的。 本文根據官方提供的server.ovpn示例檔案直接翻譯得

Flume同步kafka配置檔案

到flume官網下載flume,解壓 cd $FLUME_HOME/conf cp flume-conf.properties.template applog-conf.properties 修改applog-conf.properties屬性

Spring-Boot--日誌操作 配置檔案 詳細情況

如果在你的pom.xml中,依賴瞭如下內容 <dependency> <groupId>org.springframework.boot</groupId> <artifactId&

kafka配置檔案詳解之:producer.properties

#指定節點列表 metadata.broker.list=kafka01:9092,kafka02:9092,kafka03:9092 #指定分割槽處理類。預設kafka.producer.D

nginx配置檔案詳細說明 nginx配置檔案詳細說明

nginx配置檔案詳細說明   Nginx的配置檔案是nginx.conf #執行使用者user www-data;    #啟動程序,通常設定成和cpu的數量相等worker_processes  1; #全域性錯誤日誌及PID檔案er

kafka配置檔案記錄

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distrib

Nginx配置檔案詳細說明(轉載)

在此記錄下Nginx伺服器nginx.conf的配置檔案說明, 部分註釋收集與網路.#執行使用者user www-data;    #啟動程序,通常設定成和cpu的數量相等worker_processes  1;#全域性錯誤日誌及PID檔案error_log  /var/log/nginx/error.log

Ubuntu Linux下配置虛擬主機及其配置檔案詳細說明

用Apache配置虛擬主機 apache不僅支援基於域名的虛擬主機,還支援基於IP的虛擬主機,每一個apache虛擬主機都有單獨的配置檔案在/etc/apache2/sites-available中,default是預設的虛擬主機,這個虛擬主機在安裝時已經被連結到 /etc

Kafka之——Kafka配置檔案server.properties(三個版本)

前言 其實每個版本都有些許改動,只不過改動大小而已,但是網上的教程都真的太老了,其實更新一下也費不了多少時間  0.9.0 # Licensed to the Apache Software Foundation (ASF) under one or more # con

kafka實戰教程(python操作kafka),kafka配置檔案詳解

全棧工程師開發手冊 (作者:欒鵬) kafka介紹 1.1. 主要功能 根據官網的介紹,ApacheKafka®是一個分散式流媒體平臺,它主要有3種功能: 1:It lets you publish and subscribe to strea

bcache狀態和配置檔案詳細介紹(翻譯自官網)

參考文獻 宣告: 什麼是bcache   bcache是linux核心塊層cache.它使用類似SSD來作為HDD硬碟的cache,從而起到加速作用。 HDD硬碟便宜並且空間更大,SSD速度快但更貴。如果能兩者兼得,豈不快哉?bcache能做到。   bcache使