在Ubuntu上搭建Kafka集群需要以下几个步骤:
首先,确保你的系统上已经安装了Java运行环境。你可以使用以下命令来安装OpenJDK 8:
sudo apt update sudo apt install openjdk-8-jdk java -version Kafka依赖于Zookeeper来管理集群元数据。你可以从Apache官网下载Zookeeper的安装包,并解压到指定目录。
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/zookeeper-3.8.0.tar.gz tar -xzvf zookeeper-3.8.0.tar.gz sudo mv zookeeper-3.8.0 /usr/local/zookeeper 配置Zookeeper:
sudo cp /usr/local/zookeeper/conf/zoo.cfg /usr/local/zookeeper/conf/zoo.cfg.samples sudo vi /usr/local/zookeeper/conf/zoo.cfg 在zoo.cfg文件中,确保以下配置正确:
tickTime=2000 dataDir=/var/lib/zookeeper clientPort=2181 启动Zookeeper:
sudo /usr/local/zookeeper/bin/zkServer.sh start 验证Zookeeper是否启动成功:
sudo netstat -nap | grep 2181 下载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 sudo mv kafka_2.12-3.5.2 /usr/local/kafka 配置Kafka:
cd /usr/local/kafka sudo cp config/server.properties config/server.properties.samples sudo vi config/server.properties 在server.properties文件中,确保以下配置正确:
broker.id=0 listeners=PLAINTEXT://your_server_ip:9092 advertised.listeners=PLAINTEXT://your_server_ip:9092 zookeeper.connect=localhost:2181 log.dirs=/tmp/kafka-logs 启动Kafka:
sudo /usr/local/kafka/bin/kafka-server-start.sh config/server.properties 验证Kafka是否启动成功:
sudo netstat -tulnp | grep 9092 创建一个测试Topic以验证集群功能:
sudo /usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test 列出所有Topic以确认新Topic已创建:
sudo /usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server localhost:9092 启动生产者发送消息:
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 如果你需要部署一个Kafka集群,可以参考以下步骤:
broker.id不同。server.properties文件,确保listeners和advertised.listeners指向正确的地址。/usr/local/kafka/bin/kafka-storage.sh random-uuid 在其他服务器上使用相同的集群ID启动Kafka服务。
以上步骤应该可以帮助你在Ubuntu上成功部署Kafka集群。