当前位置:   article > 正文

知识库-kafka服务端基本参数配置_kafka sessiontimeout配置

kafka sessiontimeout配置

kafka服务端有很多参数配置,涉及使用,调优的各个方面,虽然这些参数大多数情况下不需要更改,但了解这些参数,在做kafka调优的时候很重要。

zookeeper.connect

该参数指明broker要连接zookeeper集群的服务地址和端口号,没有默认值,且为必填参数。kafka默认连接到zookeeper的根路径下,可以通过chroot改变默认路径,使用chroot参数,可以使得一套zk部署多个kafka集群。

listeners

该参数指明broker监听客户端连接地址列表,即客户端要连接broker的入口地址。配置格式为:

protocoll://hostname1:port1,protocoll://hostname2:port2

其中protocoll代表协议类型,kafka当前支持的协议类型有PLAINTEXT,SSL,SASL,SASL_SSL等。

与此参数关联的advertised.listeners,作用和listeners类似,默认值为null。不advertised.listeners

主要用于IaaS(Infrastructure as a service)环境,比如公有云上的机器通常配备多块网卡,既包含私有网网卡,又包含共有网网卡,对于这种情况,可以设置advertised.listeners参数绑定公网ip供外部客户使用,而listeners来绑定私网IP地址供broker间通讯使用。

broker.id

该参数用来指定kafka集群中broker的唯一标识,默认值为-1.如果没有设置,那么kafka会自动生成一个。这个参数还和meta.properties文件及服务端参数broker.id.generation.enable和reserved.broker.max.id有关。

log.dir和log.dirs

kafka把所有的消息都保存在磁盘上,而这两个参数用来配置kafka日志文件存放的根目录。一般情况下,log.dir用来配置单个根目录,而log.dirs用来配置多个根目录(以逗号分隔),但是kafka并没有对此做强制性限制,也就是说,log.dir和log.dirs都可以用来配置单个目录或者多个目录。log.dirs的优先级比log.dir的高。默认情况下只配置了log.dir参数,其默认值为/tmp/kafka-logs

message.max.bytes

该参数用来指定broker所能接收消息的最大值,默认值为1000012(B),约等于976.7KB。如果producer发送的消息大于这个参数所设置的值,就会报出RecordTooLargeException的异常。如果需要修改这个参数,还需要考虑max.request.size(客户端参数),max.message.bytes(topic端参数)的影响。

  1. ## 基础配置
  2. ## broker id列表,多个以","分隔
  3. brokerids=0,1,2
  4. ## broker监听的csv列表,格式是[协议]://[主机名]:[端口],[协议]://[主机名]:[端口]。该参数用于客户端连接broker使用。
  5. listeners=PLAINTEXT://{PODIP}:9092
  6. ## zookeeper的连接串,必须指定,多个以','分隔,如果使用一套zookeeper管理多个kafka集群,则zookeeper的chroot必须指定。
  7. zookeeper.connect=zookeeper-kutp-test2:12181
  8. ## 是否允许在服务器上自动创建topic
  9. auto.create.topics.enable=true
  10. ## 是否允许删除topic。如果关闭此配置,通过管理工具删除topic将不再生效
  11. delete.topic.enable=true
  12. ## 是否允许leader平衡。后台线程会定期检查并触发leader平衡。
  13. auto.leader.rebalance.enable=false
  14. ## 每个topic的默认分区大小
  15. num.partitions=3
  16. ## 每个topic的默认副本数
  17. default.replication.factor=2
  18. ## 系统topic的副本数
  19. offsets.topic.replication.factor=2
  20. ## 副本同步线程数
  21. num.replica.fetchers=2
  22. min.insync.replicas=1
  23. ## 数据保留配置
  24. ## 数据保存目录
  25. log.dir=/var/lib/kafka
  26. ## 数据保留大小阈值,单位:b
  27. log.retention.bytes=10737418240
  28. ## 数据保留时间阈值,单位:h
  29. log.retention.hours=168
  30. ## 每个segment的大小
  31. log.segment.bytes=1073741824
  32. ## 根据资源修改配置
  33. ## 该参数控制broker实际处理网络请求的线程数
  34. num.io.threads=8
  35. ## 用于处理各种后台任务的线程数量
  36. background.threads=8
  37. ## 控制broker在后台处理来自网络请求的线程数,该参数只是转发请求(转发给其他线程处理),并不会对其进行处理
  38. num.network.threads=4
  39. ## 每个topic最大消息大小
  40. message.max.bytes=10485760
  41. ## socket请求的最大大小
  42. socket.request.max.bytes=104857600
  43. ## 其他配置
  44. ## 是否允许服务器自动生成broker.id。
  45. broker.id.generation.enable=true
  46. ## 可以用于broker.id的最大数量
  47. reserved.broker.max.id=1000
  48. ## 压缩方式。 uncompressed, snappy, lz4, gzip, producer
  49. compression.type=producer
  50. ## 每个IP允许的最大连接数
  51. max.connections.per.ip=10000
  52. ## 系统topic的partation大小
  53. offsets.topic.num.partitions=50
  54. offsets.retention.minutes=20160
  55. ## zookeeper session超时时间
  56. zookeeper.connection.timeout.ms=240000
  57. ## consumer注册允许的最大会话超时时间
  58. group.max.session.timeout.ms=300000
  59. ## consumer注册允许的最小会话超时时间
  60. group.min.session.timeout.ms=6000
  61. ## 是否启用不在ISR集合中的副本作为leader
  62. unclean.leader.election.enable=false
  63. transaction.state.log.replication.factor=3
  64. transaction.state.log.min.isr=2
  65. ## 数据恢复线程数
  66. num.recovery.threads.per.data.dir=4

参考文献:

Kafka 中文文档 - ApacheCN

《深入理解Kafka核心设计与实践理论》

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/weixin_40725706/article/detail/734942
推荐阅读
相关标签
  

闽ICP备14008679号