搭建Debian上的Kafka集群涉及多个步骤,以下是一个基本的流程指南:
Kafka需要Java运行环境,推荐安装OpenJDK。
wget https://download.java.net/java/GA/jdk11/9/GPL/openjdk-11.0.2_linux-x64_bin.tar.gz
tar xvf openjdk-11.0.2_linux-x64_bin.tar.gz -C /opt
export JAVA_HOME=/opt/jdk-11.0.2
从Apache Kafka官网下载对应版本的Kafka,并解压到指定目录。
wget https://downloads.apache.org/kafka/2.8.1/kafka_2.13-2.8.1.tgz
tar -xzf kafka_2.13-2.8.1.tgz -C /opt
cd /opt/kafka_2.13-2.8.1
编辑Kafka的配置文件server.properties
,主要配置项包括:
broker.id
: 每个Broker的唯一标识。listeners
: Kafka监听的地址和端口。advertised.listeners
: 对外暴露的地址和端口。zookeeper.connect
: 如果使用Zookeeper(不推荐,因为Kafka 3.0及以上版本支持KRaft模式),配置Zookeeper连接地址。在每台机器上创建Kafka数据目录。
sudo mkdir -p /var/lib/kafka
sudo chown -R kafka:kafka /var/lib/kafka
创建Kafka服务文件并配置自启动。
sudo tee /etc/systemd/system/kafka.service <<EOL
[Unit]
Description=The Kafka server
After=network.target
[Service]
Type=simple
User=kafka
Group=kafka
WorkingDirectory=/opt/kafka_2.13-2.8.1
ExecStart=/opt/kafka_2.13-2.8.1/bin/zookeeper-server-start.sh /opt/kafka_2.13-2.8.1/config/zookeeper.properties
ExecStop=/opt/kafka_2.13-2.8.1/bin/zookeeper-server-stop.sh
Restart=always
[Install]
WantedBy=multi-user.target
EOL
sudo systemctl daemon-reload
sudo systemctl start kafka
sudo systemctl enable kafka
如果使用KRaft模式,可以不配置Zookeeper。否则,需要启动Zookeeper。
sudo systemctl start zookeeper
sudo systemctl enable zookeeper
在每台机器上运行Kafka提供的脚本进行验证。
/opt/kafka_2.13-2.8.1/bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1
/opt/kafka_2.13-2.8.1/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
/opt/kafka_2.13-2.8.1/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning
配置生产者和消费者连接到Kafka集群。
broker.id
唯一。listeners
和advertised.listeners
要正确设置,以便客户端可以连接到Kafka。以上是搭建Debian Kafka集群的基本流程,具体配置可能需要根据实际需求进行调整。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Tomcat在Debian上的资源限制配置