【大数据哔哔集20210127】Kafka企业搭建之核心参数详解
点击上方蓝色字体,选择“设为星标”
回复”资源“获取更多惊喜
服务端核心参数
broker.id=0 每个broker唯一id号,在源码里面是根据这个来判定一个broker的
listeners=hostname://:9092 当前broker对外提供访问的broker
num.network.threads=3 是服务端将请求转发时候的线程数,一般设置为 6 或者 9 根据自己机器的性能以及业务场景
num.io.threads=8 真正处理数据的线程 一般为io密集型 设计为2-3倍比较好
log.dirs 我们有多块硬盘 log.dirs=/data01/logs,/data02/logs
log.flush.interval.messages和log.flush.interval.messages 是刷写磁盘的是后按照时间和按照数据的条数
log.retention.hours kafka保存数据的时间周期,默认是7天 3天就够了 有的只保留12个小时
zookeeper.connect 是zk集群地址
message.max.bytes 消息最大 大小,默认是977kb 可以修改为10M
生产者核心参数
buffer.memory 设置发送消息的缓冲区,默认是32M
compression.type 默认是none,不压缩,但是也可以使用lz4压缩,效率还是不错的,但是会提高cpu的开销
batch.size 设置batch的大小,如果batch太小,会导致频繁的网络请求,吞吐量下降,如果batch太大,会导致一条消息需要等待很久才能被发送出去,而且会让内存缓冲区有很大的压力过多的数据缓存在内存里,默认值是16KB,也就是一个batch满了的时候会把这个batch发送出去,一般在生产环境会适当的增大这个值,如果消息大小大于这个,那么就会使用消息大小(源码中是这样的)
linger.ms 这个值默认是0,意思就是消息必须立即被发送,但是这样是不对的,一般设置一个100ms,这样的话就是如果100ms内这个batch满了16KB就会发送出去,如果是0 那么 batch.size 就失效
【大数据哔哔集20210126】全图呈现美团酒旅数据治理实践