1. 核心监听配置
协议://IP:端口(如PLAINTEXT://0.0.0.0:9092表示监听所有网络接口)。需确保IP地址正确且可被客户端访问,若为多网卡环境,应指定具体IP以避免绑定错误。2. 线程模型配置
3. 缓冲区参数配置
4. 系统级TCP优化
/etc/sysctl.conf,设置net.core.rmem_max(接收缓冲区最大值)、net.core.wmem_max(发送缓冲区最大值)为16MB(16777216字节),并配置net.ipv4.tcp_rmem(TCP接收缓冲区分段)、net.ipv4.tcp_wmem(TCP发送缓冲区分段)为4096 87380 16777216,优化TCP缓冲区利用率。net.ipv4.tcp_fastopen=3,允许客户端在握手阶段发送数据,减少连接建立延迟,适用于高频短连接场景。net.core.somaxconn(最大并发连接数)为1024以上(如2048),net.ipv4.tcp_max_syn_backlog(SYN队列长度)为2048以上,避免高并发下连接被拒绝。5. 防火墙与安全配置
ufw(Ubuntu)或firewalld(CentOS)放行Kafka端口(默认9092),如sudo ufw allow 9092/tcp或sudo firewall-cmd --permanent --add-port=9092/tcp && sudo firewall-cmd --reload。listener.security.protocol.map配置多监听器,实现内外网隔离(如INTERNAL:PLAINTEXT,EXTERNAL:SSL),并设置listeners和advertised.listeners分别对应内外网地址,确保内网低延迟、外网安全。6. 文件描述符限制
/etc/security/limits.conf,添加* soft nofile 65536(软限制)和* hard nofile 65536(硬限制);或在/etc/systemd/system/kafka.service中添加LimitNOFILE=65536,避免因文件描述符不足导致连接失败。