以下是Kafka在Linux上的使用技巧,涵盖安装、配置、优化及监控等方面:
环境准备
# Ubuntu/Debian
sudo apt install openjdk-11-jdk
# CentOS/RHEL
sudo yum install java-11-openjdk
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
tar -xzf kafka_2.13-3.6.1.tgz
mv kafka_2.13-3.6.1 /opt/kafka
核心配置
config/server.properties:
broker.id:唯一标识Broker(集群中需唯一)。log.dirs:指定日志存储路径(建议SSD磁盘)。zookeeper.connect:连接ZooKeeper集群(如localhost:2181)。硬件与系统参数
-Xms8g -Xmx8g),选择G1垃圾回收器。num.network.threads(建议CPU核心数×2)和num.io.threads(建议CPU核心数×2)。Kafka配置优化
log.retention.hours:设置日志保留时间(如168小时,即7天)。log.segment.bytes:控制日志段大小(如1GB),避免频繁切换。batch.size:增大批量大小(如16KB),减少网络交互。linger.ms:等待批量发送时间(如10ms),提升吞吐量。compression.type=gzip/snappy,减少传输数据量。网络优化
net.ipv4.tcp_nodelay=1、net.core.rmem_max=16MB)。ulimit -n 65535。工具使用
log.retention.hours=168),避免磁盘占满。集群管理
bin/kafka-topics.sh --create --topic test-topic --partitions 3 --replication-factor 2 --bootstrap-server localhost:9092
bin/kafka-topics.sh --list --bootstrap-server localhost:9092
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092
bin/kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092
ssl.keystore.location和ssl.truststore.location。kafka-acls.sh设置用户权限。参考来源: