在Ubuntu上配置Kafka时,有几个关键点需要注意:
Kafka是用Java编写的,因此需要安装Java运行环境。推荐安装OpenJDK 8或更高版本。
sudo apt update
sudo apt install openjdk-8-jdk
java -version
Kafka依赖于Zookeeper进行集群管理和元数据存储。需要安装并配置Zookeeper。
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar xvfz zookeeper-3.4.6.tar.gz
sudo mv zookeeper-3.4.6 /usr/local/zookeeper
编辑/usr/local/zookeeper/conf/zoo.cfg
文件,设置dataDir
和dataLogDir
。
解压Kafka安装包并进入配置目录。
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
tar -xzvf kafka_2.12-3.5.2.tgz
sudo mv kafka_2.12-3.5.2 /usr/local/kafka
编辑/usr/local/kafka/config/server.properties
文件,设置以下关键配置:
broker.id
: 每个Kafka broker的唯一标识。listeners
: Kafka broker的监听地址和端口。log.dirs
: Kafka日志文件的存储目录。zookeeper.connect
: Zookeeper的连接地址。需要开放Kafka使用的端口(如9092、9093等)。
sudo ufw allow 9092
sudo ufw allow 9093
sudo ufw reload
启动Zookeeper和Kafka服务。
sudo /usr/local/zookeeper/bin/zkServer.sh start
sudo /usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
使用Kafka提供的命令行工具验证安装是否成功。
sudo /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
sudo /usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
server.properties
文件中的配置正确无误,特别是broker.id
、listeners
、log.dirs
和zookeeper.connect
。选择合适的Kafka版本,并注意版本之间的差异,特别是在命令参数和API调用方面。
确保服务器有足够的资源(如内存和磁盘空间),以避免启动失败或性能问题。
考虑Kafka的安全性,如配置SSL/TLS、设置访问控制等。