• 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
  • 相关阅读:
    Windows中启动和关闭Oracle服务的x.bat批处理文件
    Flex删除文件 SecurityError: fileWriteResource
    Eclipse中的@Override标注报错
    Flex删除文件 SecurityError: fileWriteResource
    commonsfileupload 上传文件乱码问题
    Eclipse中的@Override标注报错
    Windows中启动和关闭Oracle服务的x.bat批处理文件
    csdn论坛最近又有人灌水
    用JavaScript获取URL中的参数值
    用JavaScript获取URL中的参数值
  • 原文地址:https://www.cnblogs.com/MrRightZhao/p/11094680.html
Copyright © 2020-2023  润新知