Ubuntu Kafka网络配置要点
/etc/netplan/01-netcfg.yaml文件(示例):network:
version: 2
renderer: networkd
ethernets:
eth0:
dhcp4: no
addresses: ["192.168.1.100/24"] # 替换为你的静态IP和子网掩码
gateway4: "192.168.1.1" # 网关地址
nameservers:
addresses: ["8.8.8.8", "8.8.4.4"] # DNS服务器
应用配置:sudo netplan apply。sudo ufw allow 9092/tcp
sudo ufw allow 2181/tcp
sudo ufw reload
<协议>://<IP或主机名>:<端口>。若需监听所有接口,可设为PLAINTEXT://0.0.0.0:9092;若仅限内网,设为具体IP(如PLAINTEXT://192.168.1.100:9092)。PLAINTEXT://<Broker_IP>:9092;多网卡或混合云场景需区分内外网(如内网PLAINTEXT://192.168.1.100:9092、外网PLAINTEXT://public-ip:9092)。<主机名1>:<端口1>,<主机名2>:<端口2>,...>(如localhost:2181或zk1:2181,zk2:2181,zk3:2181)。/etc/sysctl.conf提升网络吞吐和响应速度,添加以下参数:net.core.rmem_max = 16777216 # 接收缓冲区最大值
net.core.wmem_max = 16777216 # 发送缓冲区最大值
net.ipv4.tcp_rmem = 4096 87380 16777216 # TCP接收缓冲区分段
net.ipv4.tcp_wmem = 4096 65536 16777216 # TCP发送缓冲区分段
net.ipv4.tcp_low_latency = 1 # 优先低延迟
应用配置:sudo sysctl -p。/etc/security/limits.conf,添加:* soft nofile 65536 # 软限制
* hard nofile 65536 # 硬限制
num.network.threads:处理网络请求的线程数,建议设为CPU核心数的1-2倍(如num.network.threads=8)。num.io.threads:处理磁盘I/O的线程数,建议设为CPU核心数的2-3倍(如num.io.threads=16)。socket.send.buffer.bytes/socket.receive.buffer.bytes:发送/接收缓冲区大小,建议设为1MB(如socket.send.buffer.bytes=1048576、socket.receive.buffer.bytes=1048576)。batch.size:生产者批量发送的消息大小,增大可提升吞吐量(如batch.size=16384,即16KB)。linger.ms:生产者发送前的等待时间,增大可合并更多消息(如linger.ms=5,即5ms)。compression.type:消息压缩类型,支持gzip、snappy、lz4(推荐lz4,平衡压缩率与性能)。server.properties中添加:listeners=SSL://0.0.0.0:9093
ssl.keystore.location=/path/to/keystore.jks
ssl.keystore.password=your_password
ssl.key.password=your_password
ssl.truststore.location=/path/to/truststore.jks
ssl.truststore.password=your_password
客户端需对应配置security.protocol=SSL和ssl.truststore.location等参数。