在Debian上搭建Kafka集群需要以下几个步骤:
1. 安装Java环境
首先,确保你的Debian系统上已经安装了Java运行环境。
sudo apt update sudo apt install openjdk-8-jdk java -version
验证Java安装:
java -version
2. 安装Zookeeper(如果使用Kraft模式可跳过)
Kafka 2.8.0版本以后引入了Kraft模式,可以不依赖外部Zookeeper运行。如果需要使用Zookeeper,可以按照以下步骤安装:
wget https://downloads.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz tar -xzf apache-zookeeper-3.8.0-bin.tar.gz mv apache-zookeeper-3.8.0 /opt/zookeeper
配置Zookeeper:
编辑 /opt/zookeeper/conf/zoo.cfg
文件,配置Zookeeper集群的相关信息。
dataDir=/tmp/zookeeper clientPort=2181
启动Zookeeper:
/opt/zookeeper/bin/zookeeper-server-start.sh config/zoo.cfg
3. 下载并解压Kafka
从Apache Kafka官网下载最新版本的Kafka,并解压到服务器上。
wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz tar -xzf kafka_2.12-3.5.2.tgz mv kafka_2.12-3.5.2 /opt/kafka
4. 配置Kafka
为每个Kafka broker创建配置文件 server.properties
,并修改以下内容:
broker.id
: 每个broker的唯一标识。listeners
: 监听地址和端口。advertised.listeners
: 对外暴露的地址和端口。zookeeper.connect
: Zookeeper连接字符串。
例如:
broker.id=1 listeners=PLAINTEXT://:9092 advertised.listeners=PLAINTEXT://192.168.1.100:9092 zookeeper.connect=localhost:2181
5. 启动Kafka
在每个Kafka broker上启动Kafka服务:
/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties
6. 验证Kafka集群
使用Kafka提供的命令行工具来验证集群是否正常运行。
- 创建主题:
/opt/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic my_topic
- 生产者和消费者测试:
生产者:
/opt/kafka/bin/kafka-console-producer.sh --broker-list 192.168.1.100:9092 --topic my_topic
消费者:
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.100:9092 --topic my_topic --from-beginning
7. 注意事项
- 确保所有节点的防火墙允许Kafka和Zookeeper使用的端口通信。
- 确保所有节点的
/etc/hosts
文件中配置了正确的IP地址和主机名映射。 - 根据实际需求调整Kafka和Zookeeper的版本以及配置参数。
以上步骤应该可以帮助你在Debian上成功搭建一个Kafka集群。