以下是在Ubuntu上搭建Kafka集群的步骤:
安装Java
sudo apt update
sudo apt install openjdk-11-jdk
java -version # 验证安装
安装ZooKeeper
wget https://downloads.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
tar -xzf apache-zookeeper-3.7.0-bin.tar.gz
sudo mv apache-zookeeper-3.7.0 /opt/zookeeper
zoo.cfg
:sudo nano /opt/zookeeper/conf/zoo.cfg
dataDir=/opt/zookeeper/data
clientPort=2181
server.1=zoo1:2888:3888 # 多节点需配置所有节点IP
server.2=zoo2:2888:3888
server.3=zoo3:2888:3888
cd /opt/zookeeper/bin
./zkServer.sh start
./zkServer.sh status # 验证启动
安装Kafka
wget https://downloads.apache.org/kafka/3.6.2/kafka_2.12-3.6.2.tgz
tar -xzf kafka_2.12-3.6.2.tgz
sudo mv kafka_2.12-3.6.2 /opt/kafka
sudo mkdir -p /opt/kafka/logs
sudo chown -R $USER:$USER /opt/kafka/logs
配置Kafka
server.properties
(每节点唯一配置):sudo nano /opt/kafka/config/server.properties
broker.id=1 # 每个节点唯一ID
listeners=PLAINTEXT://节点IP:9092
advertised.listeners=PLAINTEXT://节点IP:9092
zookeeper.connect=zoo1:2181,zoo2:2181,zoo3:2181 # ZooKeeper集群地址
log.dirs=/opt/kafka/logs
broker.id
。启动Kafka集群
cd /opt/kafka/bin
./kafka-server-start.sh /opt/kafka/config/server.properties &
验证集群
./kafka-topics.sh --create --bootstrap-server 节点IP:9092 --replication-factor 3 --partitions 1 --topic test
./kafka-topics.sh --list --bootstrap-server 节点IP:9092
# 生产者
./kafka-console-producer.sh --broker-list 节点IP:9092 --topic test
# 消费者
./kafka-console-consumer.sh --bootstrap-server 节点IP:9092 --topic test --from-beginning
可选:配置Systemd服务
sudo nano /etc/systemd/system/kafka.service
[Unit]
Description=Apache Kafka Server
Requires=zookeeper.service
After=zookeeper.service
[Service]
Type=simple
User=kafka
WorkingDirectory=/opt/kafka
ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
ExecStop=/opt/kafka/bin/kafka-server-stop.sh
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka
注意事项: