Linux下安装Kafka 3.9.1

文章目录

  • 启动Kafka环境

    • [1. Kafka启动使用Zookeeper](#1. Kafka启动使用Zookeeper)
    • [2. Zookeeper的下载和安装](#2. Zookeeper的下载和安装)
    • [3. Kafka启动使用KRaft](#3. Kafka启动使用KRaft)
  • 官网下载安装包后,版本:kafka_2.13-3.9.1
    如:放在如下路径下

bash 复制代码
/opt/kafka_2.13-4.0.0
  • 在 /opt/kafka_2.13-3.9.1/config 下修改日志路径,避免被清空,如:
xml 复制代码
log.dirs=/opt/kafka_2.13-4.0.0/kraft-combined-logs
  • 设置环境变量
bash 复制代码
vim /etc/profile
bash 复制代码
KAFKA_HOME=/opt/kafka_2.13-4.0.0
PATH=$JAVA_HOME/bin:$GOROOT/bin:$KAFKA_HOME/bin:$PATH
bash 复制代码
source /etc/profile

启动Kafka环境

  • 注意:本地环境必须安装了Java 8+;
  • Apache Kafka可以使用ZooKeeper或KRaft启动;但只能使用其中一种方式,不能同时使用;
  • KRaft:Apache Kafka的内置共识机制,用于取代 Apache ZooKeeper;

1. Kafka启动使用Zookeeper

  • 在bin目录下启动zookeeper:
bash 复制代码
./zookeeper-server-start.sh ../config/zookeeper.properties &
  • 查看zk进程
bash 复制代码
ps -ef|grep zookeeper
  • 查看zk端口号
bash 复制代码
netstat -nlpt

或者单独下载个zk启动,不使用kafka内置的zk,可以参考我写的这篇文章:
Zookeeper 3.8.4 安装和参数解析

  • 启动kafka
bash 复制代码
./kafka-server-start.sh ../config/server.properties &
  • 查看 Kafka 端口号,默认 9092
bash 复制代码
netstat -nlpt

可以看到上面 zk 和 kafka 的 pid 分别占用了两个端口号

  • 关闭Kafka
bash 复制代码
./kafka-server-stop.sh ../config/server.properties
  • 关闭zookeeper
bash 复制代码
./zookeeper-server-stop.sh ../config/zookeeper.properties

2. Zookeeper的下载和安装

  • 详细安装请参考如下

Windows下安装:Windows下安装zookeeper

Linux下安装:Zookeeper 3.8.4 安装和参数解析
下面简单介绍下

  • 获取Zookeeper
  1. 下载最新版本的Zookeeper:https://zookeeper.apache.org/
  2. 安装Zookeeper
bash 复制代码
tar -xzf apache-zookeeper-3.9.2-bin.tar.gz -C /usr/local/
bash 复制代码
cd apache-zookeeper-3.9.2-bin
  1. 配置Zookeeper
bash 复制代码
cp zoo_sample.cfg  zoo.cfg
  • zoo.cfg 不需要修改,直接使用即可;
  1. 启动Zookeeper
java 复制代码
启动:zkServer.sh start
关闭:zkServer.sh stop
  • 可以看到 zk 启动的进程占用了如下三个端口号
  • zookeeper启动默认会占用8080端口,修改配置文件,添加如下配置:
bash 复制代码
vim zoo.cfg
bash 复制代码
admin.serverPort=9089
  • 在配置文件最后一行加上
  • zk启动后,再启动Kafka
bash 复制代码
./kafka-server-start.sh ../config/server.properties &
  • 在 Kafka 的 config 目录中的 server.properties 可以看到连接 zk 的配置

3. Kafka启动使用KRaft

1、生成Cluster UUID(集群UUID):

  • 在 Kafka 中的 bin 目录下
  • 可以看下怎么使用
bash 复制代码
./kafka-storage.sh random-uuid
  • info 命令使用
bash 复制代码
./kafka-storage.sh info -c ../config/kraft/server.properties

2、格式化日志目录:

  • 查看命令介绍
bash 复制代码
./kafka-storage.sh format -t 8tLx5xkqSWOZq1X4xHsY6Q -c ../config/kraft/server.properties

3、启动Kafka:

bash 复制代码
./kafka-server-start.sh ../config/kraft/server.properties &
  • 查看 Kafka 进程占用的端口号
  • Kafka占用的 9002、9003 端口是固定的,还有一个端口号是随机的

  • 查看 info 信息

bash 复制代码
./kafka-storage.sh info -c ../config/kraft/server.properties

4、关闭Kafka:

bash 复制代码
./kafka-server-stop.sh ../config/kraft/server.properties
相关推荐
蚰蜒螟1 分钟前
深入 Linux 内核同步机制:从 futex 到 spinlock 的完整旅程
linux·windows·microsoft
运维全栈笔记3 分钟前
Linux安装配置Tomcat保姆级教程:从部署到性能调优
linux·服务器·中间件·tomcat·apache·web
dllmayday1 小时前
Linux 上用终端连接 WiFi
linux·服务器·windows
ACP广源盛139246256731 小时前
IX8024与科学大模型的碰撞@ACP#筑牢科研 AI 算力高速枢纽分享
运维·服务器·网络·数据库·人工智能·嵌入式硬件·电脑
峥无2 小时前
Linux系统编程基石:静态库·动态库·ELF文件·进程地址空间全景图
linux·运维·服务器
用户2367829801683 小时前
从 chmod 755 说起:Unix 文件权限到底是怎么算的?
linux
码云数智-大飞3 小时前
本地部署大模型:隐私安全与多元优势一站式解读
运维·网络·人工智能
Strugglingler3 小时前
【systemctl 学习总结】
linux·systemd·systemctl·journalctl·unit file
Harvy_没救了4 小时前
【网络部署】 Win11 + VMware CentOS8 + Nginx 文件共享服务 Wiki
运维·网络·nginx
春风有信4 小时前
【2026.05.01】Windows10安装Docker Desktop 4.71.0.0步骤及问题解决
运维·docker·容器