IT评测·应用市场-qidao123.com

标题: 夯实 kafka 系列|第二章:kafka 常用参数配置 [打印本页]

作者: 九天猎人    时间: 2025-3-21 20:33
标题: 夯实 kafka 系列|第二章:kafka 常用参数配置
1.前言

本章我们来讨论下 kafka 中一些重要的参数配置;列举实际项目中 kafka borker 的参数配置,并表明每个参数的意义。
2.常用参数

kafka 官网所有配置参数链接

下面我们只列举一些常用的参数
2.1 broker 参数

2.1.1 log.dirs


2.1.2 ZooKeeper 集群

多个 Kafka 集群利用同一套 ZooKeeper 集群
正确的参数:

2.1.3 数据留存(全局级别)


2.2 topic 参数

2.2.1 数据留存(topic级别)

下面是一个创建 topic 的命令
  1. bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic transaction --partitions 1 --replication-factor 1 --config retention.ms=15552000000 --config max.message.bytes=5242880
复制代码

2.2.2 auto.create.topics.enable


2.3 jvm 参数

在启动 Kafka Broker 之前,先设置上这两个环境变量:
堆(heap)默认是 1g
  1. $> export KAFKA_HEAP_OPTS=--Xms6g  --Xmx6g
  2. $> export KAFKA_JVM_PERFORMANCE_OPTS= -server -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true
复制代码

2.4 动态参数

2.4.1 概述

官网中的每个参数都有 Update Mode 这个属性

Update Mode

2.4.2 常用的动态参数


3.项目示例

以下是一个实际项目中运行的 kafka docker 镜像中配置的环境变量参数,此中实际服务器的 HostName 换成了 127.0.0.1

  1. ALLOW_PLAINTEXT_LISTENER='yes'
  2. KAFKA_CFG_LISTENERS=PLAINTEXT://:23310
  3. KAFKA_CFG_ADVERTISED_HOST_NAME=127.0.0.1
  4. KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:16712
  5. KAFKA_CFG_ZOOKEEPER_CONNECT=127.0.0.1:23010/kafka
  6. KAFKA_CFG_OFFSETS_TOPIC_REPLICATION_FACTOR='1'
  7. KAFKA_BROKER_ID=1
  8. KAFKA_CFG_AUTO_CREATE_TOPICS_ENABLE='false'
  9. KAFKA_CFG_LOG_CLEANUP_POLICY='compact'
  10. KAFKA_CFG_LOG_CLEANER_MIN_COMPACTION_LAG_MS='604800000'
  11. KAFKA_CFG_NUM_IO_THREADS='6'
  12. KAFKA_CFG_NUM_NETWORK_THREADS='20'
  13. KAFKA_CFG_NUM_RECOVERY_THREADS_PER_DATA_DIR='3'
  14. KAFKA_HEAP_OPTS='-Xms6144m -Xmx6144m -XX:MetaspaceSize=96m -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80'
  15. JMX_PORT='23311'
  16. KAFKA_JMX_OPTS='-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.rmi.port=23311'
  17. PORT_MAPPING=16712:23310
复制代码
3.1 基础配置


3.2 主题与日记配置


3.3 线程与性能配置


3.4 JVM 配置

  1. KAFKA_HEAP_OPTS='-Xms6144m -Xmx6144m -XX:MetaspaceSize=96m -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:G1HeapRegionSize=16M -XX:MinMetaspaceFreeRatio=50 -XX:MaxMetaspaceFreeRatio=80'
复制代码


3.5 JMX 配置


3.6 其他配置


3.7 总结

这些参数共同配置了 Kafka 的网络、性能、日记、JVM 和监控运动。通过公道调整这些参数,可以优化 Kafka 的性能、稳固性和可观测性。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 IT评测·应用市场-qidao123.com (https://dis.qidao123.com/) Powered by Discuz! X3.4