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.propertieszookeeper.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,并进行了简单的消息收发测试。

相关推荐
谛听招标几秒前
【无标题】
大数据·人工智能
徐小青青啊2 分钟前
es集群不中断实时数据更新损坏节点硬盘
大数据·elasticsearch·搜索引擎·es
blue_dou10 分钟前
架构与能力边界解析:七款CRM产品四大核心维度对比测评
大数据·架构·逻辑回归·流程图
宸津-代码粉碎机11 分钟前
Spring AI 企业级RAG实战|增量更新+文档去重+定时自动入库生产落地方案
java·大数据·人工智能·后端·python·spring
二宝哥24 分钟前
大数据之数据仓库与数据库区别
大数据·数据库·数据仓库
西安同步高经理28 分钟前
国产音频频谱分析仪使用案例,多通道音频分析仪,音频频谱分析仪
大数据·人工智能·音视频
dingzd9529 分钟前
TikTok创作者AI搜索推出后跨境品牌如何提高达人匹配效率
大数据·人工智能·新媒体运营·市场营销·跨境
PcVue China33 分钟前
PcVue AI 智能管控:解锁建筑冷站能效新价值
大数据·人工智能·pid·建筑冷站
Elastic 中国社区官方博客39 分钟前
Elasticsearch Reindex 现已支持跨节点自动迁移:无需人工干预,不会丢失进度
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Devin~Y41 分钟前
从Spring Boot到AI Agent:大厂Java微服务面试三轮实战问答解析
java·spring boot·redis·spring cloud·微服务·ai·kafka