在Ubuntu上稳定运行Apache Kafka需要一些步骤和配置。以下是一个详细的指南,帮助你完成这个过程:
首先,确保你的Ubuntu系统上已经安装了Java和ZooKeeper。
sudo apt update
sudo apt install openjdk-8-jdk
验证Java安装:
java -version
sudo apt install zookeeper
启动ZooKeeper服务:
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
验证ZooKeeper是否运行:
telnet localhost 2181
你应该看到类似Welcome to ZooKeeper!
的输出。
下载Kafka的最新稳定版本。例如,下载Kafka 3.5.2版本:
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
cd kafka_2.12-3.5.2
编辑config/zookeeper.properties
文件,确保以下配置正确:
dataDir=/tmp/zookeeper
clientPort=2181
编辑config/server.properties
文件,确保以下配置正确:
broker.id=0
listeners=PLAINTEXT://your_server_ip:9092
advertised.listeners=PLAINTEXT://your_server_ip:9092
zookeeper.connect=localhost:2181
启动Kafka服务器:
nohup bin/kafka-server-start.sh config/server.properties &
验证Kafka是否启动成功,可以查看日志文件:
tail -f /path/to/kafka/logs/server.log
创建一个测试Topic:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test_topic
列出所有Topic以确认新Topic已创建:
bin/kafka-topics.sh --list --zookeeper localhost:2181
启动生产者发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test_topic
输入消息后按Ctrl+D
结束输入。
启动消费者接收消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test_topic --from-beginning
你应该能看到从生产者发送的消息。
export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
log.dirs
指向的目录有足够的磁盘空间。通过以上步骤,你应该能够在Ubuntu上稳定运行Kafka。如果遇到问题,可以参考Kafka官方文档或社区论坛寻求帮助。