linux安装kafka安装配置不依赖zookeeper
时间: 2025-01-04 12:27:50 浏览: 6
### Linux 上安装和配置不依赖 ZooKeeper 的 Kafka
#### 使用 KRaft (Kafka Raft) 模式替代 ZooKeeper
自 Apache Kafka 2.8 版本起引入了名为 KRaft(Kafka Raft)的新模式来代替传统的 ZooKeeper 协调机制。这种方式允许 Kafka 自身处理元数据管理而无需外部依赖。
#### 准备工作
确保 JDK 已经被正确安装并设置好环境变量,因为 Kafka 是基于 Java 构建的应用程序[^1]。
#### 下载最新版 Kafka 支持 KRaft 模式的版本
访问官方站点获取支持 KRaft 模式的 Kafka 发布包链接,并通过命令行下载:
```bash
wget https://archive.apache.org/dist/kafka/<version>/kafka_2.13-<version>.tgz
```
替换 `<version>` 为实际想要安装的具体版本号。
#### 安装过程
##### 解压软件包至目标位置
假设要将 Kafka 安装到 `/opt` 目录下,则执行如下操作:
```bash
tar -xzf kafka_2.13-<version>.tgz -C /opt/
cd /opt/kafka_2.13-<version>
```
##### 初始化 KRaft 元数据存储路径
创建用于保存控制器状态的日志文件夹:
```bash
mkdir -p /tmp/kraft-combined-logs
```
##### 切换到 KRaft 模式
初始化集群 ID 并转换现有属性文件以适应新的运行方式:
```bash
bin/kafka-storage.sh format \
-t $(uuidgen) \
-c config/kraft/server.properties
```
此命令会生成一个新的唯一集群ID,并更新 `server.properties` 文件以便于后续步骤中使用。
##### 编辑配置文件
编辑位于 `config/kraft/` 子目录下的 `server.properties` 来调整必要的参数设定,比如监听器、日志保留策略等。对于初次使用者来说,默认值通常已经足够满足测试需求。
##### 启动服务
启动单节点的 Kafka 控制器实例以及 broker 实例:
```bash
nohup bin/kafka-server-start.sh config/kraft/server.properties &
```
此时应该可以看到 Kafka 成功作为守护进程在后台运行起来了。
#### 验证安装成果
可以利用内置工具验证是否能够正常发送接收消息:
```bash
# 创建 topic
bin/kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092
# 生产者客户端向该主题写入几条记录
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test-topic <<< "hello world"
# 消费者客户端读取这些记录
bin/kafka-console-consumer.sh --from-beginning --bootstrap-server localhost:9092 --topic test-topic
```
如果一切顺利的话,在消费者终端应当能看到由生产者发出的消息内容。
阅读全文