• Kafka学习笔记2--Kafka的服务端配置


    下载解压 kafka 后,在 kafka/config 下有 3 个配置文件与主题的生产、消费相关。
    • server.properties--服务端配置
    • producer.properties--生产端配置
    • consumer.properties--消费端配置
    这里主要介绍服务端的参数配置。
     
    server.properties 
    #指定 kafka集群中 broker 的全局编号,每一个 broker 的编号不能重复。
    broker.id=0
     
    #Listeners 指明 broker 监听客户端连接的地址列表,即客户端要连接 broker 的入口地址列表,
    #配置格式为protocol://hostname:port,多个地址中间以逗号隔开,
    #其中 protocol 代表协议类型,Kafka 当前支持的协议类型有 PLAINTEXT、SSL、SASL_SSL 等,如果未开启安全认证,则使用简单的 PLAINTEXT 即可;
    #hostname 代表主机名,主机名最好不要为空,这里是 localhost;
    #port 代表服务端口,producer或consumer将在此端口建立连接,这里是 9092。
    listeners=PLAINTEXT://localhost:9092
     
    #advertised.listeners 主要用于 IaaS(Infrastructure as a Service)环境,
    #若多块网卡包含私网网卡和公网网卡,配置 listeners 参数绑定私网IP地址供 broker 间通信使用,
    #配置advertised.listeners 参数绑定公网IP供外部客户端使用,
    advertised.listeners=PLAINTEXT://localhost:9092
     
    #broker 处理网络请求的线程数量,也就是接收消息的线程数,一般情况下不需要去修改。
    #接收线程会将接收到的消息放到内存中,然后再从内存中写入磁盘。
    num.network.threads=3
     
    #消息从内存中写入磁盘时使用的线程数量。
    #用来处理磁盘IO的线程数量。
    num.io.threads=8
     
    #发送套接字的缓冲区大小。
    socket.send.buffer.bytes=102400
     
    #接受套接字的缓冲区大小。
    socket.receive.buffer.bytes=102400
     
    #请求套接字的缓冲区大小。
    socket.request.max.bytes=104857600
     
    #kafka运行日志存放的路径
    log.dirs=/usr/local/kafka/log/kafka
     
    #topic在当前broker上的分片数
    num.partitions=1
     
    #日志默认会被保留7天的时间,超时的话就会被清理,清理这件事情就需要有一些线程来做。
    #这里就是用来设置恢复和清理data下数据的线程数量。
    num.recovery.threads.per.data.dir=1
     
    #主题的副本数量
    offsets.topic.replication.factor=1
     
    #事务主题的复制因子,设置更高以确保可用性。
    transaction.state.log.replication.factor=1
     
    #覆盖事务主题的min.insync.replicas配置。
    transaction.state.log.min.isr=1
     
    #接收线程会将接收到的消息放到内存中,然后再从内存写到磁盘上,
    什么时候将消息从内存中写入磁盘,就有一个时间限制(时间阈值)和一个数量限制(数量阈值)
    #这里设置的是数量阈值,消息的条数达到阈值,将触发flush到磁盘。下一个参数设置的则是时间阈值。
    log.flush.interval.messages=10000
     
    #消息buffer的时间,达到阈值,将触发将消息从内存flush到磁盘,单位是毫秒。
    log.flush.interval.ms=1000
     
    #日志文件保留的最长时间,单位小时,默认保留7天(168小时),超时将被删除。
    log.retention.hours=168
     
    #topic 的分区是以一堆 segment 文件存储的,
    #此参数控制日志文件中每个 segment 的大小,单位是字节,即默认为1G。
    log.segment.bytes=1073741824
     
    #周期性检查文件大小的时间,单位是毫秒。
    #即定期检查 segment 文件有没有达到1G(上一个参数)
    log.retention.check.interval.ms=300000
     
    #zookeeper 的集群地址,可以是多个,多个地址之间用逗号隔开,
    #broker需要使用 zookeeper 保存 meta 数据。
    zookeeper.connect=localhost:2181
     
    #zookeeper 的连接超时时间
    zookeeper.connection.timeout.ms=6000
     
    #在执行第一次再平衡之前,group 协调员将等待更多消费者加入 group 的时间。 
    #延迟时间越长意味着重新平衡的可能性越小,但是等待处理开始的时间增加。
    group.initial.rebalance.delay.ms=0 
     
  • 相关阅读:
    四种nlogn排序算法代码
    HDU1421
    HDU1789
    HDU1978
    HDU2059
    HDU2089
    深入理解数组与指针的区别
    存储字节对齐问题
    h5新特性<data*>
    浏览器的标准模式和怪异模式
  • 原文地址:https://www.cnblogs.com/sunshineliulu/p/12012000.html
Copyright © 2020-2023  润新知