zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    堆栈学习
    需要阅读的书籍
    Rust Book Lang Ch.19 Fully Qualified Syntax, Supertraits, Newtype Pattern, type aliases, never type, dynamic sized type
    Rust Lang Book Ch.19 Placeholder type, Default generic type parameter, operator overloading
    Rust Lang Book Ch.19 Unsafe
    Rust Lang Book Ch.18 Patterns and Matching
    Rust Lang Book Ch.17 OOP
    Rust Lang Book Ch.16 Concurrency
    Rust Lang Book Ch.15 Smart Pointers
    HDU3966-Aragorn's Story-树链剖分-点权
  • 原文地址:https://www.cnblogs.com/MrRightZhao/p/11094680.html
Copyright © 2011-2022 走看看