Kafka 安装教程

目录

前言

一、安装前的准备

[1. 系统要求](#1. 系统要求)

[2. 安装 JDK](#2. 安装 JDK)

[3. 下载 Kafka](#3. 下载 Kafka)

[二、配置 Kafka](#二、配置 Kafka)

[1. 配置 Zookeeper](#1. 配置 Zookeeper)

[2. 配置 Kafka Broker](#2. 配置 Kafka Broker)

[3. 分发Kafka安装包](#3. 分发Kafka安装包)

[4. 配置环境变量(xcall.sh)](#4. 配置环境变量(xcall.sh))

[三、启动 Kafka 和 Zookeeper](#三、启动 Kafka 和 Zookeeper)

[四、测试 Kafka](#四、测试 Kafka)

[1. 创建 Topic](#1. 创建 Topic)

[2. 生产消息](#2. 生产消息)

[3. 消费消息](#3. 消费消息)

五、总结


前言

Kafka 是一种高性能、分布式的消息队列系统,广泛应用于大数据实时处理场景中。本文将详细介绍如何在 Linux 环境中安装和配置 Kafka,希望对初学者有所帮助。

一、安装前的准备

1. 系统要求

  • 操作系统:本文以 CentOS 7 为例,其他 Linux 系统安装步骤类似。
  • Java 环境:Kafka 依赖 Java 运行环境,需要先安装 JDK。
  • Zookeeper: Kafka 依赖 Zookeeper 进行分布式协调。Zookeeper 可以单独安装,也可以使用 Kafka 内置的 Zookeeper 服务。

2. 安装 JDK

  1. 检查是否安装 JDK:java -version
  2. 如果没有安装,可自行安装 JDK。

3. 下载 Kafka

  1. 进入 Kafka 官方下载页面:Kafka 下载页面。

  2. 选择合适的 Kafka 版本(比如最新稳定版),复制下载链接。

  3. 下载 Kafka。

  4. 解压文件:

    bash 复制代码
    cd /opt/moudles
    tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/installs/
  5. 修改解压后的文件名称:

    bash 复制代码
    mv kafka_2.12-3.0.0/ kafka3
    # 版本号解读:2.12 是scala版本,3.0.0是kafka版本

二、配置 Kafka

Kafka 主要有两个配置文件:server.properties 和 zookeeper.properties。

1. 配置 Zookeeper

Kafka 依赖 Zookeeper 进行分布式协调。Zookeeper 的配置文件位于 config/zookeeper.properties。(安装Zookeeper时已配置)

2. 配置 Kafka Broker

Kafka Broker 的配置文件位于 config/server.properties。

  1. 打开配置文件:

    bash 复制代码
    vi /opt/install/kafka3/config/server.properties
  2. 修改 broker.id(每个 Kafka 节点需要一个唯一的 ID):

    bash 复制代码
    broker.id=0
  3. 配置连接 Zookeeper 集群地址(在 zk 根目录下创建/kafka,方便管理):

    bash 复制代码
    zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181/kafka
    # /kafka的意思是:在zk中创建一个文件夹叫做kafka
  4. 配置日志存储路径:

    bash 复制代码
    log.dirs=/opt/installs/kafka3/datas 

3. 分发Kafka安装包

bash 复制代码
 xsync.sh /opt/install/kafka3/ 
# 分别在 bigdata02 和 bigdata03上修改配置文件/opt/installs/kafka/config/server.properties 中的 broker.id=1、broker.id=2 
# 注:broker.id 不得重复,整个集群中唯一。

4. 配置环境变量(xcall.sh)

bash 复制代码
# 修改bigdata01的环境变量
export KAFKA_HOME=/opt/installs/kafka3
export PATH=$PATH:$KAFKA_HOME/bin

# 分发一下:
xsync.sh /etc/profile

# 刷新环境变量
 xcall.sh source /etc/profile 

三、启动 Kafka 和 Zookeeper

  1. 启动 Zookeeper:

    bash 复制代码
    xcall.sh zkServer.sh start
    # 或者使用脚本zk.sh start
  2. 启动 Kafka:

    bash 复制代码
    # 依次在 bigdata01、bigdata02、bigdata03 节点上启动 Kafka,先进入到kafka3 这个文件夹中
    
    bin/kafka-server-start.sh -daemon config/server.properties
    
    # 关闭指令
    bin/kafka-server-stop.sh

使用 jps 命令查看进程,确保 Zookeeper 和 Kafka 都已成功启动。

四、测试 Kafka

1. 创建 Topic

bash 复制代码
bin/kafka-topics.sh --bootstrap-server bigdata01:9092 --create --partitions 1 --replication-factor 3 --topic first

2. 生产消息

bash 复制代码
bin/kafka-console-producer.sh  --bootstrap-server bigdata01:9092 --topic first 

输入消息内容,然后回车发送。

3. 消费消息

打开另一个终端,输入以下命令接收消息:

bash 复制代码
bin/kafka-console-consumer.sh --bootstrap-server bigdata01:9092 --topic first 

五、总结

至此,我们成功在 Linux 系统上安装并配置了 Kafka,并进行了简单的消息收发测试。

相关推荐
北风toto5 分钟前
Elasticsearch 8.2.3 快照迁移实战:从备份到恢复的完整指南
大数据·elasticsearch·jenkins
roman_日积跬步-终至千里44 分钟前
数仓方法论(二):指标设计与规范化——让经营目标成为共同的衡量规则
大数据
Kari111 小时前
Dify多租户架构:从单团队到SaaS化服务
大数据·人工智能·架构
jianjinwssy1 小时前
从零设计一个 Agent 安全沙箱:Docker 隔离、三级风控与 Kafka 审计
人工智能·docker·kafka
大大大大晴天10 小时前
从 Prompt 到 Tool Calling:AI Agent 如何稳定连接程序世界
大数据·agent
key_3_feng11 小时前
反馈闭环:Agent 自我进化的真正引擎
大数据·agent
EnCi Zheng12 小时前
Agent 如何进行工具调用:从一次 Function Calling 到生产级工具编排的完整链路
大数据·人工智能·agent·ai编程·工具调用
GlobalInfo12 小时前
重磅发布 | 2026年船体清洁机器人行业研究报告:市场规模、发展前景与十五五战略地图
大数据·人工智能·机器人
海宇服务12 小时前
零信任架构实战:基于海宇全能小微企业报告构建自动化园区商户免押租赁资信核验网关
大数据·人工智能·架构·自动化
CodeGL13 小时前
开源的分布式任务调度平台:XXL-Job
分布式·开源