下载解压 kafka 后,在 kafka/config 下有 3 个配置文件与主题的生产、消费相关。
  • server.properties–服务端配置
  • producer.properties–生产端配置
  • consumer.properties–消费端配置
这里主要介绍服务端的参数配置。
 
server.properties 
  1. #指定 kafka集群中 broker 的全局编号,每一个 broker 的编号不能重复。
  2. broker.id=0
  3. #Listeners 指明 broker 监听客户端连接的地址列表,即客户端要连接 broker 的入口地址列表,
  4. #配置格式为protocol://hostname:port,多个地址中间以逗号隔开,
  5. #其中 protocol 代表协议类型,Kafka 当前支持的协议类型有 PLAINTEXT、SSL、SASL_SSL 等,如果未开启安全认证,则使用简单的 PLAINTEXT 即可;
  6. #hostname 代表主机名,主机名最好不要为空,这里是 localhost;
  7. #port 代表服务端口,producer或consumer将在此端口建立连接,这里是 9092
  8. listeners=PLAINTEXT://localhost:9092
  9. #advertised.listeners 主要用于 IaaS(Infrastructure as a Service)环境,
  10. #若多块网卡包含私网网卡和公网网卡,配置 listeners 参数绑定私网IP地址供 broker 间通信使用,
  11. #配置advertised.listeners 参数绑定公网IP供外部客户端使用,
  12. advertised.listeners=PLAINTEXT://localhost:9092
  13. #broker 处理网络请求的线程数量,也就是接收消息的线程数,一般情况下不需要去修改。
  14. #接收线程会将接收到的消息放到内存中,然后再从内存中写入磁盘。
  15. num.network.threads=3
  16. #消息从内存中写入磁盘时使用的线程数量。
  17. #用来处理磁盘IO的线程数量。
  18. num.io.threads=8
  19. #发送套接字的缓冲区大小。
  20. socket.send.buffer.bytes=102400
  21. #接受套接字的缓冲区大小。
  22. socket.receive.buffer.bytes=102400
  23. #请求套接字的缓冲区大小。
  24. socket.request.max.bytes=104857600
  25. #kafka运行日志存放的路径
  26. log.dirs=/usr/local/kafka/log/kafka
  27. #topic在当前broker上的分片数
  28. num.partitions=1
  29. #日志默认会被保留7天的时间,超时的话就会被清理,清理这件事情就需要有一些线程来做。
  30. #这里就是用来设置恢复和清理data下数据的线程数量。
  31. num.recovery.threads.per.data.dir=1
  32. #主题的副本数量
  33. offsets.topic.replication.factor=1
  34. #事务主题的复制因子,设置更高以确保可用性。
  35. transaction.state.log.replication.factor=1
  36. #覆盖事务主题的min.insync.replicas配置。
  37. transaction.state.log.min.isr=1
  38. #接收线程会将接收到的消息放到内存中,然后再从内存写到磁盘上,
  39. 什么时候将消息从内存中写入磁盘,就有一个时间限制(时间阈值)和一个数量限制(数量阈值)
  40. #这里设置的是数量阈值,消息的条数达到阈值,将触发flush到磁盘。下一个参数设置的则是时间阈值。
  41. log.flush.interval.messages=10000
  42. #消息buffer的时间,达到阈值,将触发将消息从内存flush到磁盘,单位是毫秒。
  43. log.flush.interval.ms=1000
  44. #日志文件保留的最长时间,单位小时,默认保留7天(168小时),超时将被删除。
  45. log.retention.hours=168
  46. #topic 的分区是以一堆 segment 文件存储的,
  47. #此参数控制日志文件中每个 segment 的大小,单位是字节,即默认为1G。
  48. log.segment.bytes=1073741824
  49. #周期性检查文件大小的时间,单位是毫秒。
  50. #即定期检查 segment 文件有没有达到1G(上一个参数)
  51. log.retention.check.interval.ms=300000
  52. #zookeeper 的集群地址,可以是多个,多个地址之间用逗号隔开,
  53. #broker需要使用 zookeeper 保存 meta 数据。
  54. zookeeper.connect=localhost:2181
  55. #zookeeper 的连接超时时间
  56. zookeeper.connection.timeout.ms=6000
  57. #在执行第一次再平衡之前,group 协调员将等待更多消费者加入 group 的时间。
  58. #延迟时间越长意味着重新平衡的可能性越小,但是等待处理开始的时间增加。
  59. group.initial.rebalance.delay.ms=0
 

版权声明:本文为sunshineliulu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/sunshineliulu/p/12012000.html