【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

成功!

相关推荐
初次攀爬者7 小时前
Kafka + KRaft模式架构基础介绍
后端·kafka
初次攀爬者7 小时前
Kafka + ZooKeeper架构基础介绍
后端·zookeeper·kafka
初次攀爬者8 小时前
Kafka 基础介绍
spring boot·kafka·消息队列
DemonAvenger4 天前
Kafka性能调优:从参数配置到硬件选择的全方位指南
性能优化·kafka·消息队列
欧云服务器5 天前
怎么让脚本命令可以同时在centos、debian、ubuntu执行?
ubuntu·centos·debian
智渊AI5 天前
Ubuntu 20.04/22.04 下通过 NVM 安装 Node.js 22(LTS 稳定版)
ubuntu·node.js·vim
yumgpkpm5 天前
AI视频生成:Wan 2.2(阿里通义万相)在华为昇腾下的部署?
人工智能·hadoop·elasticsearch·zookeeper·flink·kafka·cloudera
The️5 天前
Linux驱动开发之Read_Write函数
linux·运维·服务器·驱动开发·ubuntu·交互
予枫的编程笔记5 天前
【Kafka高级篇】避开Kafka原生重试坑,Java业务端自建DLQ体系,让消息不丢失、不积压
java·kafka·死信队列·消息中间件·消息重试·dlq·java业务开发