在Ubuntu上稳定运行Apache Kafka需要经过一系列的步骤,包括安装Java环境、下载和解压Kafka、配置Kafka以及启动Kafka服务等。以下是详细的步骤指南:
Kafka需要Java环境来运行,推荐使用OpenJDK 11。
sudo apt update sudo apt install openjdk-11-jdk -y java -version 从Apache Kafka官网下载最新稳定版本的Kafka,并解压到指定目录。
wget https://downloads.apache.org/kafka/3.6.1/kafka_2.12-3.6.1.tgz tar -zxvf kafka_2.12-3.6.1.tgz -C /usr/local/ 配置Zookeeper:
创建Zookeeper的数据目录:
mkdir -p /usr/local/kafka/data/zookeeper 编辑Zookeeper配置文件:
nano /usr/local/kafka/config/zookeeper.properties 更新 dataDir 属性指向新数据目录:
dataDir=/usr/local/kafka/data/zookeeper 启动Zookeeper:
/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties 配置Kafka Broker:
创建Kafka的数据目录:
mkdir -p /usr/local/kafka/data/kafka 编辑Kafka配置文件:
nano /usr/local/kafka/config/server.properties 更新以下属性:
log.dirs=/usr/local/kafka/data/kafka zookeeper.connect=localhost:2181 在两个终端会话中分别启动Zookeeper和Kafka。
启动Zookeeper:
/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties 启动Kafka:
/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties 创建一个测试Topic:
/usr/local/kafka/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1 生产消息并消费消息以验证Kafka的功能:
生产者:
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 消费者:
/usr/local/kafka/bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092 为了确保Kafka和Zookeeper在启动时自动启动,可以将它们设置为systemd服务。
创建Zookeeper的systemd服务文件:
sudo nano /etc/systemd/system/zookeeper.service 添加以下内容:
[Unit] Description=Apache Zookeeper server Documentation=http://zookeeper.apache.org/doc/current/ [Service] Type=simple Environment="PATH=/usr/local/kafka/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin" User=root Group=root ExecStart=/usr/local/kafka/bin/zookeeper-server-start.sh /usr/local/kafka/config/zookeeper.properties ExecStop=/usr/local/kafka/bin/zookeeper-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.target 启动并启用Zookeeper服务:
sudo systemctl daemon-reload sudo systemctl start zookeeper sudo systemctl enable zookeeper 创建Kafka的systemd服务文件:
sudo nano /etc/systemd/system/kafka.service 添加以下内容:
[Unit] Description=Apache Kafka server Documentation=http://kafka.apache.org/documentation.html [Service] Type=simple Environment="PATH=/usr/local/kafka/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin" User=root Group=root ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.target 启动并启用Kafka服务:
sudo systemctl daemon-reload sudo systemctl start kafka sudo systemctl enable kafka 通过以上步骤,您可以在Ubuntu上成功安装并运行Apache Kafka。请确保遵循所有步骤,并根据需要调整配置。