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

Kafka部署

部署命令

wget https://archive.apache.org/dist/kafka/2.6.0/kafka_2.13-2.6.0.tgz
useradd kafka
yum install java
mkdir /home/kafka/logs
vi /home/kafka/kafka/config/server.properties
/home/kafka/kafka/bin/kafka-server-start.sh -daemon /home/kafka/kafka/config/server.properties
/home/kafka/kafka/bin/kafka-broker-api-versions.sh --bootstrap-server 172.30.30.101:19092
/home/kafka/kafka/logs - 日志路径

server.properties 中zookeeper.connect配置检查

根据您提供的输出信息,Kafka 客户端无法与运行在 localhost:19092 的 Kafka broker 建立连接。这里有几个可能的原因和相应的解决步骤:

  1. 检查 Kafka Broker 是否正在运行
    确认 Kafka broker 进程是否已经启动并正在监听 19092 端口。您可以使用 ps -ef | grep kafka-server-start.sh 来查看 Kafka broker 的进程状态。

  2. 检查端口是否正确
    Kafka 默认监听端口是 9092,除非在 server.properties 配置文件中明确指定了其他端口。请检查您的 server.properties 文件中的 listeners 配置项,确保 Kafka broker 正在监听 19092 端口。

  3. 检查防火墙设置
    如果 Kafka broker 正在运行,但您仍然无法连接,可能是防火墙阻止了对该端口的访问。确保防火墙允许 19092 端口的流量。

  4. 检查网络配置
    如果您的 Kafka broker 配置为监听所有接口或特定的非本地接口,确保您的客户端正在使用正确的主机名或 IP 地址来连接。

  5. 检查 Kafka 日志
    查看 Kafka broker 的日志文件,通常位于 Kafka 安装目录下的 logs 子目录中,以获取可能的错误信息或线索。

  6. 检查配置文件
    确保 server.properties 配置文件中的所有配置项都是正确的,特别是 broker.idlistenerslog.dirs 等关键配置。

  7. 重新启动 Kafka Broker
    如果 Kafka broker 没有正确启动,尝试重新启动它。使用 /home/kafka/kafka/bin/kafka-server-stop.sh 停止 Kafka broker,然后使用 /home/kafka/kafka/bin/kafka-server-start.sh -daemon /home/kafka/kafka/config/server.properties 重新启动。

  8. 检查 Java 环境
    Kafka 依赖于 Java 运行环境。确保您的系统上安装了正确版本的 Java,并且 Kafka 能够访问它。

通过上述步骤,您应该能够诊断并解决无法连接到 Kafka broker 的问题。如果问题仍然存在,可能需要更详细地检查 Kafka 的配置和系统环境。

java.lang.IllegalArgumentException: A HostProvider may not be empty!

从您提供的 Kafka 日志信息来看,Kafka 服务器在启动过程中遇到了一个致命错误,导致无法启动。错误信息如下:

java.lang.IllegalArgumentException: A HostProvider may not be empty!

这个错误表明 Kafka 在尝试初始化与 ZooKeeper 的连接时,没有找到有效的 ZooKeeper 服务器地址。HostProvider 是用于提供 ZooKeeper 服务器地址列表的,这个错误通常意味着 server.properties 配置文件中的 zookeeper.connect 配置项没有正确设置或者为空。

要解决这个问题,请按照以下步骤操作:

  1. 检查 ZooKeeper 连接配置
    打开 Kafka 的 server.properties 配置文件,确保 zookeeper.connect 配置项已经正确设置。例如,如果 ZooKeeper 运行在本地机器的默认端口上,该配置应该如下所示:

    zookeeper.connect=localhost:2181
    

    如果您的 ZooKeeper 运行在其他机器或端口上,您需要相应地修改这个配置。

  2. 检查 ZooKeeper 服务状态
    确保 ZooKeeper 服务正在运行,并且 Kafka 服务器能够网络访问到它。您可以通过运行 echo stat | nc localhost 2181 来检查 ZooKeeper 的状态(假设 ZooKeeper 运行在本地的默认端口上)。

  3. 检查网络连接
    如果 ZooKeeper 运行在远程服务器上,确保 Kafka 服务器能够通过网络连接到该服务器的 ZooKeeper 端口。

  4. 检查防火墙设置
    确保没有防火墙规则阻止了 Kafka 服务器与 ZooKeeper 服务器之间的通信。

  5. 重新启动 Kafka 服务器
    在修正了配置文件后,重新启动 Kafka 服务器:

    /home/kafka/kafka/bin/kafka-server-stop.sh
    /home/kafka/kafka/bin/kafka-server-start.sh -daemon /home/kafka/kafka/config/server.properties
    
  6. 查看 Kafka 日志
    如果 Kafka 服务器仍然无法启动,查看 Kafka 日志文件以获取更多错误信息。

通过上述步骤,您应该能够解决 Kafka 服务器无法启动的问题。如果问题依然存在,可能需要进一步检查 Kafka 和 ZooKeeper 的配置及网络环境。


http://www.mrgr.cn/news/80496.html

相关文章:

  • gcc-arm-10.3-2021.07-x86_64-arm-none-linux-gnueabihf
  • Spring Security 6 系列之二 - 基于数据库的用户认证和认证原理
  • 整数的四舍五入----->记录每一点进步
  • 英伟达垄断?中国芯片如何破局?
  • JAVA学习日记(二十六)网络编程
  • Guava 提供了集合操作 `List`、`Set` 和 `Map` 三个工具类
  • 解决PyTorch模型推理时显存占用问题的策略与优化
  • 【BUG记录】Apifox 参数传入 + 号变成空格的 BUG
  • C-数据的存储
  • android opencv导入进行编译
  • Vue3期末复习
  • MySQL中Json字段
  • MySQL数据库sql教程-从入门到进阶
  • 【Linux】结构化命令:if-then语句
  • 基于python绘制数据表(下)
  • 一、基于langchain使用Qwen搭建金融RAG问答机器人--技术准备
  • samout llm解码 幻觉更低更稳定
  • Rk3588 FFmpeg 拉流 RTSP, 硬解码转RGB
  • Android显示系统(13)- 向SurfaceFlinger提交Buffer
  • 从上千份大厂面经呕心沥血整理:大厂高频手撕面试题(数据结构篇 ,Java实现亲试可跑)
  • FFmpeg第一话:FFmpeg 简介与环境搭建
  • YOLOv8目标检测(三*)_最佳超参数训练
  • PHPstudy中的数据库启动不了
  • 计网_虚拟局域网VLAN
  • C++对象数组对象指针对象指针数组
  • labelimg使用指南