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!

相关推荐
kong@react19 小时前
Rocky Linux 10.2 全面解析:企业级 CentOS 替代方案及保姆级docker安装
java·linux·运维·docker
凡人叶枫19 小时前
Effective C++ 条款07:为多态基类声明 virtual 析构函数
linux·c语言·开发语言·c++
睡不醒男孩03082319 小时前
第八篇:如何构建一站式 PostgreSQL 性能优化与智能管控平台?从盲目排查到 CLup 自动化运维演进
运维·postgresql·性能优化
凡人叶枫19 小时前
Effective C++ 条款10:令 operator= 返回一个 reference to *this
java·linux·服务器·开发语言·c++·effective c++
某林21219 小时前
Isaac Sim 5.1.0 无头服务器部署与 RTX 显存段错误排障全记录
运维·服务器·docker·容器·isaac
|_⊙20 小时前
Linux 中断
linux
m0_7381207220 小时前
Docker 环境下 Vulfocus 靶场搭建全流程(附镜像源问题解决方案)
运维·服务器·网络·安全·docker·容器
二等饼干~za89866820 小时前
2026 主流 GEO 源码厂商实测:云罗 GEO、摘星智能、棋引科技技术与落地能力对比
大数据·运维·科技
SLD_Allen20 小时前
Kafka分区与消费者的关系kafka分区和消费者线程的关系
分布式·kafka
Championship.23.2420 小时前
Linux 3.0 音频机制深度解析:ALSA基础架构与传统音频驱动模型
linux·运维·音视频·alsa