Ubuntu环境下Kafka配置的关键要点
sudo apt install openjdk-11-jdk安装后,用java -version验证安装是否成功。zoo.cfg文件设置dataDir(数据目录)、clientPort(客户端端口,默认2181)及server.X(集群节点列表,如server.1=zoo1:2888:3888)。server.properties是Kafka broker的主配置文件,关键参数如下:
协议://主机名/IP:端口(如PLAINTEXT://0.0.0.0:9092)。若broker有多个网卡,需指定具体IP以避免绑定错误。PLAINTEXT://public-ip:9092),否则客户端无法连接。/data/kafka-logs1,/data/kafka-logs2)。建议使用独立磁盘分区以提高IO性能。主机名/IP:端口,主机名/IP:端口,...(如zoo1:2181,zoo2:2181,zoo3:2181)。若Zookeeper部署在本地,可简化为localhost:2181。为方便使用Kafka命令,需将Kafka和Zookeeper的安装目录添加到系统环境变量:
/etc/profile文件,添加以下内容(替换为实际安装路径):export KAFKA_HOME=/opt/kafka export PATH=$PATH:$KAFKA_HOME/bin export ZOOKEEPER_HOME=/opt/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin source /etc/profile使配置生效。若系统启用防火墙(如UFW),需开放Kafka和Zookeeper的端口:
sudo ufw allow 9092/tcp # Kafka默认端口 sudo ufw allow 2181/tcp # Zookeeper默认端口 sudo ufw reload 确保客户端能访问这些端口。
若需搭建Kafka集群,需在每个broker的server.properties中:
broker.id(如0、1、2);zookeeper.connect(指向集群所有Zookeeper节点);num.partitions和default.replication.factor以满足集群负载需求。kafka-server-start.sh -daemon /path/to/server.properties启动Kafka服务(后台模式);kafka-topics.sh --create创建测试Topic,通过kafka-console-producer.sh和kafka-console-consumer.sh验证生产者-消费者流程是否正常。