配置Ubuntu Kafka集群涉及多个步骤,包括安装依赖、下载和解压Kafka、配置Kafka、创建和启动Kafka集群等。以下是详细的步骤:
1. 安装依赖
首先,确保你的Ubuntu系统已经安装了Java环境。你可以使用以下命令来安装OpenJDK 11:
sudo apt update sudo apt install openjdk-11-jdk -y
2. 下载和解压Kafka
下载预编译的Kafka二进制文件。例如,你可以下载Kafka 3.6.2版本:
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 /usr/local/kafka
3. 配置Kafka
进入Kafka的配置目录并编辑server.properties
文件。以下是一些主要的配置项:
broker.id
: Kafka broker节点的唯一标识。listeners
: Kafka broker的监听地址。log.dir
: Kafka日志文件的存储目录。zookeeper.connect
: Zookeeper的连接地址。
例如:
cd /usr/local/kafka/config sudo vi server.properties
4. 创建KRaft集群
在任意一个节点上生成集群ID:
/usr/local/kafka/bin/kafka-storage.sh random-uuid
然后在其他节点上执行相同的命令。
5. 配置Zookeeper(如果使用KRaft模式)
如果你使用的是KRaft模式,可以跳过Zookeeper的配置。如果你使用的是传统的Kafka模式,需要配置Zookeeper。以下是一个简单的Zookeeper配置示例:
# 编辑zookeeper配置文件 sudo vi /usr/local/kafka/config/zookeeper.properties
主要配置项包括:
dataDir
: Zookeeper数据目录。clientPort
: Zookeeper客户端端口。
6. 启动Kafka
在配置目录下启动Kafka服务:
cd /usr/local/kafka sudo bin/kafka-server-start.sh -daemon config/kraft/server.properties
7. 验证Kafka是否启动成功
使用以下命令检查Kafka broker是否在监听端口9092:
netstat -tulnp | grep 9092
8. 通信测试
你可以使用kafka-console-producer.sh
和kafka-console-consumer.sh
进行通信测试:
- 创建测试主题:
/usr/local/kafka/bin/kafka-topics.sh --create --bootstrap-server 192.168.3.191:9092,192.168.3.192:9092,192.168.3.193:9092 --replication-factor 3 --partitions 1 --topic test-topic
- 列出主题:
/usr/local/kafka/bin/kafka-topics.sh --list --bootstrap-server 192.168.3.191:9092,192.168.3.192:9092,192.168.3.193:9092
- 生产消息:
/usr/local/kafka/bin/kafka-console-producer.sh --broker-list 192.168.3.191:9092,192.168.3.192:9092,192.168.3.193:9092 --topic test-topic
- 消费消息:
/usr/local/kafka/bin/kafka-console-consumer.sh --bootstrap-server 192.168.3.191:9092,192.168.3.192:9092,192.168.3.193:9092 --topic test-topic --from-beginning
注意事项
- 确保每个节点的
node.id
不冲突。 - 在启动Kafka服务之前,确保所有节点的配置文件已经正确配置。
- 如果遇到启动失败的情况,可以尝试删除
log.dirs
配置路径下的文件并重新创建KRaft集群。