前置安装
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
- 使用镜像下载二进制编译文件 kafka-3.9.0
kafka镜像地址
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
成功!