kafka server.properties 配置文件詳解(二)


 

   雖然在前面一部分我們啟動了kafka集群,並通過控制台的方式實現了producer和consumer,但是我們還是了解一下kafka單個節點是的配置參數屬性,

也只有了解了這些參數的配置,才能將kafka的性能發揮到最好。

  標紅部分為集群必配屬性,致於其它的參數配置等學完后再回過頭來看這些參數,你就知道是什么意思了

   1.broker.id
        broker.id=2  一般采用ip的后三位來用來標識是哪台kafka的broker,利於定位和排錯
    2.Prot
        tcp用來監控的kafka端口
        listeners=PLAINTEXT://192.168.43.17:9092
    3.Zookeeper.connect
       #kafka連接zk的集群,多個用”,”號隔開
      #zookeeper.connect=192.168.43.15:2181,192.168.43.16:2181,192.168.43.17:2181
      #但是這樣寫不是很友好,kafka在連上zk后,直接在zk的根目錄創建自己需要的文件夾,這樣會導致zk的根目錄也非常亂
     #同時如果有別的項目也在用zk創建1個controller目錄,kafka會產生一個controller的文件夾,這樣會導致混淆
     #如果需要部署2個獨立的kafka storm環境時,只有一個zk集群時
     #綜上所述,可以采用命名空間的方式解決以上問題:
      zookeeper.connect=192.168.43.15:2181,192.168.43.16:2181,192.168.43.17:2181/kafka_1(推薦使用這2種方式)
      zookeeper.connect=192.168.43.15:2181,192.168.43.16:2181,192.168.43.17:2181/kafka_2
  4.Log.dirs(commit log)
    #用來存儲日志的路徑,它上面存放了多個log segment,如果采用了磁盤陣列,路徑可以是多個
    #如果采用了多個存儲路徑,1個partition只能存放在1個路徑下,因為順序的磁盤讀寫操作速度  
    #可以接近隨機的內存讀寫速度
      log.dirs=/var/lib/kafka
  5.num.recovery.threads.per.data.dir=1     
    #kafka配置了1個線程池,當kafka啟動時打開每個segment,啟動失敗時檢查並截取每個segment
    #服務關閉時,關閉segments的句柄、管道的flush操作,
    num.recovery.threads.per.data.dir=1
     #注意是1個路徑默認是1個線程,如果log.dirs配置了3個路徑,那么將會有24個線程
   6.auto crteat.topics.enable(配置文件中沒有)
        #自動創建1個topic
        #當不存在1個topic時會創建,讀的時候會創建1個topic,通過api訪問元數據時,如果不存在會創建1個topic
        #但是這個創建的tpoic都是采用默認的配置,因此不建議使用
        # 一般情況下我們設置成false
   7.num.partitions
        #設置partitions 的個數
        num.partitions=1
   8.log.retention.ms
        #日志存放時間,依據是文件最后1次更新文件的時間,這個參數是針對broker的,按小時來算的
        log.retention.hours=168                
     #存放1個星期
   9.log.retention.bytes
        #partition保留數據的大小,這個參數是針對1個partitions 的
        #如果有8個partition,每個partition設置的是1GB,那最多存8GB的東西,超過了就會將老的數據刪除
        log.retention.bytes=1073741824
   10.log.segment.bytes
      #設置segment 片斷的大小,如果存放的達到了設置的大小,這個segment 將會關閉,並且將會
     #創建1個新的打開的segment,如果1個segment達到了設置的大小並且已關閉,那么這個segment是可
     #以被刪除的,如果這個segment設置的小,則會頻繁的創建segment,會影響kafka的性能,如果設置的較大
     #超過了log.retention.ms的保存時間,這樣會造成數據不一致或丟失的情況,因此,設置每個segment的
        #大小還是要根據業務量來判斷
       log.segment.bytes=1073741824
   11.log.segment.ms
        #另一種控制segments關閉的參數設置
        log.segment.ms
   12.message.max.bytes
        #發送信息的最大單位值,如果超過了,會造成數據丟失
        #如果要發送的數據量較大,可以調整這個參數和檢查發送數據量的
        message.max.bytes=1024

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM