当前位置: 首页 > news >正文

Linux系统上安装kafka

目录

1. 安装Java环境

2. 下载和解压Kafka

3. 配置Kafka

4. 启动ZooKeeper和Kafka

5. 测试Kafka

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!

相关文章:

  • 设计模式-创建型模式详解
  • php代码审计工具-rips
  • 【时间序列聚类】从数据中发现隐藏的模式
  • 轻松上手 —— 通过 RPM 包快速部署 NebulaGraph
  • Kubernetes Pod网络组件解析与选型指南
  • JJJ:linux sysfs相关
  • 高阶哈希算法
  • 以商业思维框架为帆,驭创业浪潮前行
  • 哪吒2票房分析
  • 解析 SQL,就用 sqlparse!
  • 1998-2022年各地级市三次产业占比/地级市国内生产总值构成/地级市第一产业占比、第二产业占比、第三产业占比数据(全市)
  • vue+element 实现蛇形时间轴 拐弯时间轴
  • 使用查询,休眠-唤醒方式,POLL方式,异步通知方式,读取输入设备信息
  • 代码随想录算法训练营第22天 | 组合总和 分割回文串
  • PyTorch 中的混合精度训练方法,从 autocast 到 GradScalar
  • Windows编程----进程:命令行参数
  • 如何根据应用需求选择光谱相机
  • OpenCV计算摄影学(18)平滑图像中的纹理区域同时保留边缘信息函数textureFlattening()
  • 第五章 起航16 申请一个外包资源
  • 【Linux 22.4 ubuntu 安装cuda12.1 完整方案】
  • 在线制作海报网站/网络推广法
  • 久久建筑网会员登录没有签到得金币了吗/北京seo编辑
  • 网站建设及推广服务公司/企业网站怎么做
  • 建设官方网站企业网站/网络营销推广论文
  • 加强网站硬件建设方案/seo外包 靠谱
  • 网站开发课程总结/企业培训课程开发