【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

成功!

相关推荐
Linux-lucky12 分钟前
39-41-Linux学习之旅之redis缓存基础与NFS基础
linux·运维·mysql·ubuntu
QQ14220784492 小时前
2012 年的老 ThinkPad E430 改装 Ubuntu 24.04全程翻车排查实录
ubuntu·项目复盘
阿钱真强道2 小时前
06 嵌入式操作系统 | vim 与软件管理:apt / 源码编译
ubuntu·vim·嵌入式·apt·源码编译
牢姐与蒯2 小时前
Linux进程间通信(三).基于匿名管道的进程池的实现
linux·运维·服务器·ubuntu
Linux-lucky14 小时前
32-38-Linux学习之旅之MySQL综合
linux·运维·学习·mysql·ubuntu
士訫1 天前
【Linux 踩坑】HP Victus RTX4050 Ubuntu 系统双屏无法同时点亮解决方案(完美适配 Advanced Optimus 机型)
ubuntu
指尖的爷1 天前
ARM 架构 Ubuntu(RK3588/aarch64)go开发环境安装手册
ubuntu·架构·golang
吉甫作诵1 天前
Kafka 集群安装与运维实战:消费组排查、Offset 重置与副本重分配
大数据·运维·分布式·kafka·消息队列
虚无的纽扣1 天前
【Linux】将进程知识与基础IO融会贯通——简单自定义Shell的实现
linux·ubuntu
imDwAaY1 天前
消息队列四大核心问题:顺序性、幂等性、可靠性与一致性
学习·kafka·rabbitmq