在Linux上搭建Kafka集群需要遵循以下步骤:
安装Java:Kafka需要Java环境,确保你的系统上已经安装了Java 8或更高版本。
sudo apt update
sudo apt install openjdk-8-jdk
下载Kafka:从Apache Kafka官网下载最新版本的Kafka。
wget https://downloads.apache.org/kafka/3.2.0/kafka_2.13-3.2.0.tgz
tar -xzf kafka_2.13-3.2.0.tgz
cd kafka_2.13-3.2.0
假设我们要搭建一个包含3个Broker的Kafka集群。
每个Broker需要有一个唯一的broker.id,并且需要配置listeners和advertised.listeners以便其他Broker能够找到它。
Broker 1 (例如:localhost:9092)
broker.id=1
listeners=PLAINTEXT://localhost:9092
advertised.listeners=PLAINTEXT://localhost:9092
log.dirs=/tmp/kafka-logs-1
zookeeper.connect=localhost:2181
Broker 2 (例如:broker2:9092)
broker.id=2
listeners=PLAINTEXT://broker2:9092
advertised.listeners=PLAINTEXT://broker2:9092
log.dirs=/tmp/kafka-logs-2
zookeeper.connect=localhost:2181
Broker 3 (例如:broker3:9092)
broker.id=3
listeners=PLAINTEXT://broker3:9092
advertised.listeners=PLAINTEXT://broker3:9092
log.dirs=/tmp/kafka-logs-3
zookeeper.connect=localhost:2181
确保所有Broker使用同一个Zookeeper集群。
dataDir=/tmp/zookeeper
clientPort=2181
maxClientCnxns=0
server.1=localhost:2888:3888
server.2=broker2:2888:3888
server.3=broker3:2888:3888
在每个Broker上启动Zookeeper。
bin/zookeeper-server-start.sh config/zookeeper.properties
在每个Broker上启动Kafka Broker。
bin/kafka-server-start.sh config/server.properties
使用Kafka自带的工具来验证集群状态。
bin/kafka-topics.sh --bootstrap-server localhost:9092 --list
创建一个Topic来测试集群。
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic test-topic --partitions 3 --replication-factor 3
启动生产者和消费者来测试集群。
# 生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic
# 消费者
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning
log.dirs和zookeeper.connect等配置。通过以上步骤,你应该能够在Linux上成功搭建一个Kafka集群。