在Ubuntu上设置Apache Kafka涉及几个步骤,包括安装Java环境、下载和解压Kafka、配置Kafka以及启动Kafka服务。以下是一个详细的步骤指南:
1. 安装Java环境
Kafka需要Java环境,因此首先需要安装Java。可以通过以下命令安装OpenJDK 11:
sudo apt update sudo apt install openjdk-11-jdk -y
安装完成后,检查Java版本:
java -version
2. 下载并解压Kafka
从Apache Kafka官网下载所需版本的Kafka安装包。例如,下载Kafka 3.5.2版本:
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz
将下载的安装包上传到Linux服务器并解压:
tar -zxvf kafka_2.12-3.5.2.tgz
3. 配置Kafka
进入Kafka的配置目录并编辑server.properties
文件:
cd kafka_2.12-3.5.2 sudo vim config/server.properties
主要修改以下几项配置:
broker.id
: 设置为0(或任意唯一值)。port
: 设置为9092(或任意未被占用的端口号)。host.name
: 设置为你的服务器IP地址。log.dirs
: 设置为Kafka日志存储目录,例如/opt/kafka/kafka_2.12-3.5.2/logs
。zookeeper.connect
: 设置为localhost:2181
。
4. 配置Zookeeper(如果使用Kafka 2.8.0及以上版本)
虽然Kafka 2.8.0及以上版本引入了Kraft模式,可以不依赖外部Zookeeper运行,但为了完整性,这里仍然提供Zookeeper的配置步骤。
创建数据和日志目录:
sudo mkdir -p /usr/local/kafka/zookeeper/data sudo mkdir -p /usr/local/kafka/zookeeper/log
编辑Zookeeper配置文件zookeeper.properties
:
sudo vim /usr/local/kafka/zookeeper/conf/zookeeper.properties
修改配置文件中的参数,例如设置数据目录、日志目录、客户端端口等:
dataDir=/usr/local/kafka/zookeeper/data dataLogDir=/usr/local/kafka/zookeeper/log clientPort=2181 maxClientCnxns=100 tickTime=2000 initLimit=10 syncLimit=5
5. 启动Zookeeper服务
在Kafka的安装目录下执行以下命令启动Zookeeper服务:
sudo /usr/local/kafka/bin/zookeeper-server-start.sh config/zookeeper.properties
6. 启动Kafka服务
在另一个终端窗口中启动Kafka服务:
sudo /usr/local/kafka/bin/kafka-server-start.sh config/server.properties
7. 创建Topic
使用Kafka提供的命令行工具创建一个Topic:
sudo /usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
8. 测试Kafka
使用Kafka自带的生产者工具发送消息,并使用消费者工具接收并显示消息,以验证Kafka是否正常工作:
-
生产者:
sudo /usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
-
消费者:
sudo /usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
通过以上步骤,你可以在Ubuntu系统上成功安装和配置Kafka。