当前位置: 首页 > news >正文

如何安装部署kafka

安装和部署Apache Kafka需要以下几个步骤,包括下载 Kafka、配置 ZooKeeper(或者使用 Kafka 自带的 Kafka Raft 模式替代 ZooKeeper),以及启动 Kafka 服务。以下是一个但基于 Linux 的典型安装流程,可以根据需要改装到其他操作系统。

1.安装的。

保证您的系统安装了以下依赖:

  • Java(Kafka依赖于Java运行环境,推荐JDK 8及以上版本)
# 检查 Java 版本
java -version# 如果没有安装 Java,可以通过以下命令安装(适用于 Ubuntu/Debian 系统)
sudo apt update
sudo apt install default-jdk -y

2.下载并解压Kafka

  1. 访问Kafka官方下载页面选择最新的稳定版本,下载二进制包(一般使用Scala版本的Kafka)。也可以使用命令行直接下载:
# 下载 Kafka(以 Kafka 3.0.0 为例,Scala 2.13)
wget https://downloads.apache.org/kafka/3.0.0/kafka_2.13-3.0.0.tgz# 解压 Kafka 压缩包
tar -xzf kafka_2.13-3.0.0.tgz# 进入 Kafka 目录
cd kafka_2.13-3.0.0

3.配置ZooKeeper

在传统的 Kafka 部署中,Kafka 依赖ZooKeeper来管理集群的元数据。如果使用的是传统的 Kafka 版本,仍需安装并运行 ZooKeeper。

注意:自 Kafka 2.8 开始,Kafka 引入了 Raft 模式,可以添加 ZooKeeper。

  • 安装ZooKeeper(如果选择不使用Raft模式)

Kafka自带了一个基础的ZooKeeper配置文件,可以直接使用。

# 启动 ZooKeeper 服务(默认配置)
bin/zookeeper-server-start.sh config/zookeeper.properties

ZooKeeper默认会在2181端口上运行。

4.启动Kafka Broker

  1. Kafka的配置文件在config/server.properties中。
  2. 使用默认配置启动Kafka Broker:
# 启动 Kafka broker
bin/kafka-server-start.sh config/server.properties

默认情况下,Kafka Broker 会在9092端口上运行。

5.测试Kafka

Kafka自带了生产者和消费者的命令行工具,下面我们通过这些工具来验证 Kafka 的工作状态。

1.创建 Kafka 主题

Kafka 使用“主题”来组织消息,首先需要创建一个主题:

# 创建名为 test 的主题(默认副本数为1,分区数为1)
bin/kafka-topics.sh --create --topic test --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

列出集群中的所有主题:

bin/kafka-topics.sh --list --bootstrap-server localhost:9092
2.生产消息

使用 Kafka 提供的命令行生产者工具向test主题发送消息:

# 启动生产者,向 test 主题发送消息
bin/kafka-console-producer.sh --topic test --bootstrap-server localhost:9092

输入一些消息,每条消息按行输入,按回车键后发送。

3.消费消息

使用 Kafka 的消费者工具读取test主题中的消息:

# 启动消费者,读取 test 主题的消息
bin/kafka-console-consumer.sh --topic test --from-beginning --bootstrap-server localhost:9092

消费者分区头读取所有消息,并在控制台输出。

6. Kafka 配置文件说明

Kafka 的主配置文件为config/server.properties,其中包含了 Kafka 运行时的各种参数。常用的配置项包括:

  • broker.id: 唯一标识 Kafka Broker 的 ID,在多集群集群中,每个 Broker 的 ID 都应该是唯一的。
  • listeners:Kafka Broker 监听的地址和端口,默认是localhost:9092
  • log.dirs: Kafka存储日志(即消息)的目录,默认为/tmp/kafka-logs
  • zookeeper.connect: ZooKeeper 连接字符串(在使用 ZooKeeper 模式时)。

7.关闭Kafka和ZooKeeper

完成测试后,可以关闭Kafka和ZooKeeper服务。

# 停止 Kafka 服务
bin/kafka-server-stop.sh# 停止 ZooKeeper 服务
bin/zookeeper-server-stop.sh

8.部署多集群资源

在生产环境中,通常会部署 Kafka 的多集群集群。这涉及到:

  • 修改每个brokerbroker.id,确保唯一。
  • 修改listeners参数,确保每个经纪人都有唯一的IP地址和端口。
  • 增加 ZooKeeper 的高可用配置(或者使用 Kafka Raft 模式)。

Kafka集群部署需要配置多台服务器,将多个broker连接到相同的ZooKeeper集群。


http://www.mrgr.cn/news/32916.html

相关文章:

  • Python 正则表达式的一些介绍和使用方法说明(数字、字母和数字、电子邮件地址、网址、电话号码(简单)、IPv4 )
  • openwebui二改界面环境搭建
  • UNIAPP发布小程序调用讯飞在线语音合成+实时播报
  • 各种环境换源教程
  • 大语言模型理论基础
  • AndroidStudio-常用布局
  • 色彩管理中的Gamma值的理解
  • [Redis面试高频] - zset的底层数据结构
  • 【HTTP】构造HTTP请求和状态码
  • 基于stm32物联网身体健康检测系统
  • 一篇进阶Python深入理解函数之高阶函数与函数式编程
  • 我们如何通过两个关键测试原则,进行自动化 Kubernetes 配置和Secret测试
  • [全网最全]2024华为杯研赛CDEF题成品参考论文+每小问解题代码+可视化结果!
  • 测试面试题:一个项目从0到1,你需要做哪些工作?工作的重点是什么?
  • 2024华为杯E题:高速公路应急车道紧急启用模型
  • 功能测试干了三年,快要废了。。。
  • Global Attention Decoder for Chinese Spelling Error Correction(ACL2021)
  • 【数据结构初阶】链式二叉树接口实现超详解
  • 使用Renesas R7FA8D1BH (Cortex®-M85)和微信小程序App数据传输
  • 大模型终极指南:零基础到精通,一文搞定!
  • Qt窗口——对话框
  • 61. 旋转链表【 力扣(LeetCode) 】
  • MySQL数据库备份与恢复
  • 库函数模块创建
  • 9.安卓逆向-安卓开发基础-安卓四大组件2
  • C++11标准模板(STL)- 常用数学函数 - 计算e的给定幂 (ex)(std::exp, std::expf, std::expl)