Linux系统上安装kafka

目录

[1. 安装Java环境](#1. 安装Java环境)

[2. 下载和解压Kafka](#2. 下载和解压Kafka)

[3. 配置Kafka](#3. 配置Kafka)

[4. 启动ZooKeeper和Kafka](#4. 启动ZooKeeper和Kafka)

[5. 测试Kafka](#5. 测试Kafka)

[6. 停止服务](#6. 停止服务)

7.常见问题


1. 安装Java环境

Kafka依赖Java运行环境(JDK 8或更高版本):

复制代码
# 安装OpenJDK(推荐)
yum install openjdk-11-jdk

# 验证安装
java -version

如果已经安装Java环境,可通过如下方式进行检查。

复制代码
​# 检查当前 JAVA_HOME
echo $JAVA_HOME

# 查找Java安装路径
update-alternatives --config java

# 输出示例:/usr/lib/jvm/java-11-openjdk-amd64/bin/java

# 设置JAVA_HOME(替换为你的路径)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH

#永久修复(所有终端生效):
# /etc/profile
vim /etc/profile

# 添加以下内容(替换为你的路径)
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.18.0.10-1.el7_9.x86_64
export PATH=$JAVA_HOME/bin:$PATH

# 使配置生效
source /etc/profile

2. 下载和解压Kafka

从官网下载最新版Kafka(以3.7.0为例):

复制代码
​wget https://archive.apache.org/dist/kafka/3.7.0/kafka_2.13-3.7.0.tgz
tar -xzf kafka_2.13-3.7.0.tgz
mv kafka_2.13-3.7.0 /opt/kafka  #移动到/opt目录
cd /opt/kafka

3. 配置Kafka

修改配置文件 config/server.properties:

复制代码
vim config/server.properties

关键配置项:

复制代码
# 允许外部访问(替换为你的服务器IP或保持localhost)
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://<服务器IP>:9092

# 日志存储目录(确保目录存在且可写)
log.dirs=/tmp/kafka-logs

4. 启动ZooKeeper和Kafka

Kafka依赖ZooKeeper协调服务,新版本内置了ZooKeeper:

复制代码
#启动ZooKeeper(后台运行)
nohup bin/zookeeper-server-start.sh config/zookeeper.properties > zookeeper.log 2>&1 &

#启动Kafka(后台运行)
nohup bin/kafka-server-start.sh config/server.properties > kafka.log 2>&1 &

5. 测试Kafka

5.1 创建Topic

复制代码
bin/kafka-topics.sh --create --topic test-topic \
--bootstrap-server localhost:9092 \
--partitions 1 --replication-factor 1

5.2 启动生产者

复制代码
bin/kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092

5.3 启动消费者(新终端)

复制代码
bin/kafka-console-consumer.sh --topic test-topic --bootstrap-server localhost:9092 --from-beginning

6. 停止服务

复制代码
# 停止Kafka
bin/kafka-server-stop.sh

# 停止ZooKeeper
bin/zookeeper-server-stop.sh

7.常见问题

端口冲突:确保9092(Kafka)和2181(ZooKeeper)端口未被占用。

防火墙:开放端口或关闭防火墙:

日志目录权限:确保Kafka进程有权限写入log.dirs配置的目录。

通过以上步骤,成功在Linux上安装并运行Kafka!

相关推荐
whltaoin4 小时前
SpringCloud 项目阶段九:Kafka 接入实战指南 —— 从基础概念、安装配置到 Spring Boot 实战及高可用设计
spring boot·spring cloud·kafka
月殇_木言5 小时前
Linux 线程
linux
wangjialelele5 小时前
Linux中的线程
java·linux·jvm·c++
tritone7 小时前
我在阿贝云免费服务器上搭建RustDesk自建服务器(Self-Hosting)的真实体验【推荐】
运维·服务器
2301_800050997 小时前
DNS 服务器
linux·运维·笔记
慌糖7 小时前
自动化接口框架搭建分享-pytest第二部分
运维·自动化·pytest
Lin_Aries_04217 小时前
容器化简单的 Java 应用程序
java·linux·运维·开发语言·docker·容器·rpc
SELSL7 小时前
SQLite3的API调用实战例子
linux·数据库·c++·sqlite3·sqlite实战
岁岁种桃花儿7 小时前
详解 Kubernetes 命令:kubectl exec -it nginx -- bash 及实战场景
运维·nginx·kubernetes
小牛马爱写博客7 小时前
DNS 服务器与 DHCP 服务器详解及配置指南
linux·运维·服务器·dns·dhcp