kafka2.5.0详解核心配置文件server.properties

$ cat -n config/server.properties 

1)全局配置——Broker相关

broker.id=0       // broker ID, 集群模式下该ID必须唯一,且永恒不变。重点:每新启动一个Kafka Server加入Kafka集群,该id必须且只能+1,否则会报错 id不在指定范围之内。

listeners=PLAINTEXT://localhost:9092       // kafka Server端启动端口,如果是同一台机器启动多个Kafka Server,则需要改此端口号。注意:如果这里的localhost不写明IP(PLAINTEXT://:9092),则默认使用内网IP,例:192.168.2.61

zookeeper.connect=localhost:2181             // 连接zookeeper

zookeeper.connection.timeout.ms=6000           // 连接zookeeper超时毫秒数

log.dirs=/tmp/kafka-logs,/directory2,/directory3       // kafka日志数据存储目录,就是存储你的数据。最少使用原则,当一个分区放在多台服务器或者多个路径下时,哪个服务器拥有最少数据分区的优先。所以一个分区会放在同一个路径下面。

num.recovery.threads.per.data.dir=8               // 当启动或关闭kafka时,日志需要启动或者恢复的时候的线程数量,默认1,这个值可以适当改大一点。注意:这里的启动总线程数 = 此值 * log.dirs目录树,比如log.dirs目录配置了4个,此值是8,则总线程数=32

num.network.threads=3                // 服务器用于从网络接收请求并向网络发送响应的线程数

num.io.threads=8                         // 服务器用于处理请求的线程数,其中可能包括磁盘I/O

socket.send.buffer.bytes=102400       // 发送缓冲区,默认100KB

socket.receive.buffer.bytes=102400    // 接收数据缓冲区,默认100KB

socket.request.max.bytes=104857600    // 请求最大数量,默认100MB

 2)主题相关——Topic

num.partitions=1       // 默认创建分区数量,注意:新建Topic时的分区数量必须大于此值!分区数评估方法:根据每秒的写入和读取的数据量,除以消费者个数,得出需要多少个分区。每个分区只有一个Leader首领。

log.retention.hours=168     // 日志数据默认保存时间:168小时,也可以设置成100分钟:log.retention.minutes=100,或10000毫秒:log.retention.ms=10000  

注意:在分区文件夹目录下,有个00000000000000000000.log文件,如果size大到一定程度,会新建一个10这样二进制命名的.log文件,例如10101010.log,00000000000000000000.log则停止更新,当旧文件的最后更新时间  + 日志保存时间 = 删除时间,00000000000000000000.log日志就会被删除。以此类推。

log.retention.bytes=1073741824             // 默认1GB,每个分区的最大文件大小。超出这个限制的部分数据会被删除,一般不设置,-1为没有大小限制。

log.segment.bytes=1073741824             // 默认1GB,日志段文件的最大大小。当达到这个大小时,将创建一个新的日志段。旧文件将等待过期时间然后被删除。

log.retention.check.interval.ms=300000     // 默认5分钟,检查一次单个日志的过期状态

 Topic 操作参考: 《kafka2.5.0 主题Topic

 

 

end.

posted on 2020-06-21 18:50  梦幻朵颜  阅读(940)  评论(0编辑  收藏  举报