【kafka】kafka安装(ubuntu+jdk+zookeeper)

前置安装

1.jdk安装与环境变量配置

  • 安装 OpenJDK 21或者其他版本
bash 复制代码
sudo apt update
sudo apt install openjdk-21-jdk
  • 使用 readlink 命令查找 java 的路径
bash 复制代码
readlink -f $(which java)

复制

  • 永久设置JAVA_HOME
bash 复制代码
# 粘贴路径/usr/lib/jvm/java-21-openjdk-amd64  
echo "export JAVA_HOME=/usr/lib/jvm/java-21-openjdk-amd64" >> ~/.bashrc
  • 配置生效
bash 复制代码
source ~/.bashrc
  • 检查环境变量是否配置成功
bash 复制代码
java -version
echo $JAVA_HOME

2.zookeeper安装

Zookeeper 是一个分布式协调服务,广泛用于分布式系统中,以确保系统中的各个组件能够进行有效的协调、同步和管理。Kafka 就是依赖 Zookeeper 来管理集群状态、控制分区分配等工作。

  • 通过阿里镜像下载Apache Zookeeper
    这里下载zookeeper3.8.4
    阿里镜像
bash 复制代码
// 临时禁用代理并下载
http_proxy="" https_proxy="" wget https://mirrors.aliyun.com/apache/zookeeper/zookeeper-3.8.4/apache-zookeeper-3.8.4-bin.tar.gz
  • 解压
bash 复制代码
tar -xvzf apache-zookeeper-3.8.4-bin.tar.gz
  • 配置 Zookeeper,进入解压后的目录,进入 conf 目录并复制 zoo_sample.cfg 文件为 zoo.cfg 文件
bash 复制代码
cd apache-zookeeper-3.8.4-bin/conf
cp zoo_sample.cfg zoo.cfg
  • 编辑 zoo.cfg 配置文件
bash 复制代码
sudo vim zoo.cfg
  • 确认一下信息
bash 复制代码
# 数据存储目录
dataDir=/var/lib/zookeeper
# 客户端连接端口
clientPort=2181
# 服务器集群的ID(默认是一个服务器,可以不改)
tickTime=2000
initLimit=10
syncLimit=5
  • 创建数据存储目录
bash 复制代码
sudo mkdir -p /var/lib/zookeeper
// 赋予写入权限 用户名:用户组名,一般相同
sudo chown -R chenaws:chenaws /var/lib/zookeeper
  • 启动 Zookeeper,
    配置完成后,返回到 Zookeeper 根目录,启动 Zookeeper 服务器
bash 复制代码
cd ~/apache-zookeeper-3.8.4-bin      
bin/zkServer.sh start      

成功!!!

  • 如果想要停止Zookeeper
bash 复制代码
bin/zkServer.sh stop    

正式安装配置kafka

先建个文件夹

bash 复制代码
chenaws@chenaws-VMware-Virtual-Platform:~/kafka$ pwd
/home/chenaws/kafka
  • 在kafka文件夹下再建个data文件夹
bash 复制代码
mkdir data
bash 复制代码
curl -O https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/3.9.0/kafka_2.12-3.9.0.tgz
  • 解压
bash 复制代码
tar -xzvf kafka_2.12-3.9.0.tgz
  • 验证解压成功
bash 复制代码
cd /home/itheima/kafka/kafka_2.12-3.9.0
bin/kafka-topics.sh --version

修改配置文件

bash 复制代码
sudo vim config/server.properties
  • 修改一下内容

    这里改成
bash 复制代码
// 你的虚拟机ip
listeners=PLAINTEXT://192.168.88.128:9092

这里改成刚才新建的data目录存储日志

bash 复制代码
log.dirs=/home/itheima/kafka/data

这里改为

bash 复制代码
// 虚拟机ip
zookeeper.connect=192.168.88.128:2181

保存退出

  • 运行kafka
bash 复制代码
// 注意当前路径
bin/kafka-server-start.sh -daemon config/server.properties
  • 检查是否运行成功
bash 复制代码
ps aux | grep kafka

成功!

相关推荐
斯普信专业组2 小时前
Kafka 消费者 poll() 流程与原理详解
kafka·流程图
承渊政道3 小时前
Linux网络学习【深入理解多路转接select、poll的代码改写】
linux·ubuntu·select·多路转接·poll
ly76895 小时前
幂等消费者与重试副作用:Kafka 端点接入时的去重边界
分布式·kafka·linq·apache camel·幂等消费者·重试副作用·去重边界
沫璃染墨18 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
longzhizhui9261 天前
Ubuntu 全版本 CVE-2026-98432 内核安全升级操作手册
ubuntu·网络安全·云计算·bash
OPEN-F1 天前
Ubuntu 自动登录后 GNOME 远程桌面连不上?一次登录钥匙环锁定的排查与永久修复
linux·运维·ubuntu
9624561 天前
容器 RUNNING,为什么中间件仍不可用?ActiveMQ 与 Kafka/ZooKeeper 恢复实录
中间件·kafka·activemq
斯普信专业组1 天前
Kafka 3.9.1 三节点集群部署方案(ZooKeeper 模式)
分布式·zookeeper·kafka
A7bert7771 天前
【MobileSAM部署至RK3588】环境适配→转换RKNN→开发板部署
c++·人工智能·深度学习·目标检测·ubuntu
用户4107192013252 天前
用 systemd 从零做一个系统健康巡检服务:脚本、沙箱与磁盘满排查实战
linux·ubuntu