一、基础配置:确保Broker正常运行
broker.id=1)。PLAINTEXT、SASL_PLAINTEXT)和IP/主机名(如listeners=PLAINTEXT://your.server.ip:9092)。advertised.listeners=PLAINTEXT://your.public.ip:9092)。log.dirs=/data/kafka-logs),避免与系统文件共用,提升IO性能。zookeeper.connect=zoo1:2181,zoo2:2181,zoo3:2181)。二、高可用性配置:保障数据与服务可靠性
default.replication.factor=3)。default.replication.factor),设置为≥2可保证数据不丢失(如min.insync.replicas=2)。false可避免数据丢失(如unclean.leader.election.enable=false)。num.partitions=6),提升并行处理能力。三、性能调优配置:提升吞吐与延迟
export KAFKA_HEAP_OPTS="-Xms4G -Xmx4G -XX:+UseG1GC"。num.network.threads,建议≥CPU核心数)和IO线程(num.io.threads,建议≥磁盘数×2),提升并发处理能力(如num.network.threads=8、num.io.threads=16)。batch.size(如32768,32KB)和linger.ms(如10,10ms),合并小消息减少网络开销;启用压缩(如compression.type=lz4或snappy),降低存储和传输成本。log.flush.interval.messages(如10000,1万条)和log.flush.interval.ms(如1000,1秒),平衡数据持久性与性能(避免频繁刷盘导致IO瓶颈)。四、安全配置:保护数据传输与访问
security.inter.broker.protocol=SASL_PLAINTEXT、sasl.enabled.mechanisms=PLAIN),并配置JAAS文件(export KAFKA_OPTS="-Djava.security.auth.login.config=/path/to/kafka_server_jaas.conf"),防止未授权访问。ssl.keystore.location=/path/to/kafka.keystore.jks、ssl.truststore.location=/path/to/kafka.truststore.jks),加密Broker与客户端之间的通信,防止数据泄露。五、操作系统优化:提升底层性能
ulimit -n 65535),避免Kafka因文件句柄不足而崩溃。net.core.wmem_default=1048576、net.core.rmem_default=1048576)和连接队列(如net.core.somaxconn=32768),提升网络吞吐。noatime选项挂载磁盘(如mount -o noatime /dev/sdb1 /data/kafka-logs),减少不必要的磁盘IO。