Kafka 裸机部署
Apache Kafka 是一个分布式流处理平台,广泛用于构建实时数据管道和流应用。裸机部署是指在物理服务器上直接安装和配置Kafka,而不是在虚拟机或容器中运行。这种方式适合对性能要求较高的场景,同时也为初学者提供了一个理解Kafka底层架构的机会。
1. 准备工作
在开始部署之前,确保你已经准备好以下内容:
- 一台或多台物理服务器(至少一台用于Kafka,一台用于Zookeeper)。
- Java 8或更高版本(Kafka是用Java编写的)。
- 下载最新版本的Kafka二进制包。
备注
Zookeeper是Kafka的依赖组件,用于管理集群的元数据和协调。在Kafka 2.8.0及以上版本中,Kafka引入了Kafka Raft Metadata(KRaft)模式,可以不再依赖Zookeeper,但本教程仍以传统模式为例。
2. 安装Java
Kafka依赖Java运行环境,因此首先需要安装Java。以下是在Linux系统上安装Java的步骤:
# 更新包管理器
sudo apt-get update
# 安装Java
sudo apt-get install openjdk-11-jdk
# 验证安装
java -version
输出应显示Java版本信息,例如:
openjdk version "11.0.11" 2021-04-20
3. 下载并解压Kafka
从Apache Kafka官网下载最新版本的Kafka二进制包,然后解压:
# 下载Kafka
wget https://downloads.apache.org/kafka/3.3.1/kafka_2.13-3.3.1.tgz
# 解压
tar -xzf kafka_2.13-3.3.1.tgz
# 进入Kafka目录
cd kafka_2.13-3.3.1
4. 配置Zookeeper
Kafka依赖Zookeeper来管理集群元数据。首先,我们需要启动Zookeeper。
编辑 config/zookeeper.properties
文件,确保以下配置项正确:
dataDir=/tmp/zookeeper
clientPort=2181
然后启动Zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties
Zookeeper将在后台运行,监听端口 2181
。
5. 配置Kafka
接下来,配置Kafka。编辑 config/server.properties
文件,确保以下配置项正确:
broker.id=1
listeners=PLAINTEXT://:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=localhost:2181
broker.id
:每个Kafka broker的唯一标识符。listeners
:Kafka broker监听的地址和端口。log.dirs
:Kafka存储日志文件的目录。zookeeper.connect
:Zookeeper的连接地址。