《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers

这篇具有很好参考价值的文章主要介绍了《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Kafka常见问题处理记录

一、kafka创建topic失败, Replication factor: 1 larger than available brokers: 0

1.创建语句如下所示,按照习惯在添加zookeeper参数的时候,指定了zxy:2181/kafka,但是却创建失败,Error while executing topic command : Replication factor: 1 larger than available brokers: 0.

[root@zxy bin]# kafka-topics.sh --create --topic tp1 --zookeeper zxy:2181/kafka --partitions 3 --replication-factor 1
Error while executing topic command : Replication factor: 1 larger than available brokers: 0.
[2023-03-27 17:15:46,605] ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 1 larger than available brokers: 0.
 (kafka.admin.TopicCommand$)

2.检查各个broker的server.properties文件

发现在配置参数的时候,zookeeper.connect指定的是zxy:2181,zxy:2182,zxy:2183

[root@zxy config]# cat server01.properties
broker.id=1
port=9091
listeners=PLAINTEXT://localhost:9091
log.dirs=/zxy/apps/kafkaCluster/kafkaLog01
zookeeper.connect=zxy:2181,zxy:2182,zxy:2183

3.指定zookeeper参数为zxy:2181,创建成功

[root@zxy bin]# kafka-topics.sh --create --topic tp1 --zookeeper zxy:2181 --partitions 3 --replication-factor 1
Created topic "tp1".

二、服务器Cannot allocate memory

问题:在使用服务器中遇到内存无法分配到问题导致启动不了Kafka
思路一:根据查找方法,最后将vm.overcommit_memory设为1,但是对我这个问题没有太大帮助

管理员下三种方案
1.编辑/etc/sysctl.conf ,改vm.overcommit_memory=1,然后sysctl -p使配置文件生效
2.sysctl vm.overcommit_memory=1
3.echo 1 > /proc/sys/vm/overcommit_memory,然后sysctl –p永久生效

思路二:然后通过修改为kafka分配的内存,还是没有解决问题

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
fi

修改为

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
fi

思路三:最后想到zookeeper已经启动了,是不是因为它分配的内存太多了,减少为zookeeper分配的内存

if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
fi

三、Offset Explorer连接Kafka问题集合,(Timeout expired while fetching topic metadata),(Uable to find any brokers)

1. Timeout expired while fetching topic metadata

1.Offset Explorer配置好zookeeper的连接地址后

《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers

2.在查看Topics的时候,报错Timeout expired while fetching topic metadata

《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers

3.排查发现应该是kafka的server.properties文件中的advertised.listeners问题

  • 修改前是

    advertised.listeners=PLAINTEXT://localhost:9091
    
  • 修改后

    advertised.listeners=PLAINTEXT://:9091
    

4.修改好配置文件后,重启Kafka即可

2.Uable to find any brokers

1.重新连接后,又遇到Uable to find any brokers问题,访问不到的原因是,Offset Explorer访问Kafka的时候,是因为Kafka tool是通过主机名访问的,所以要在windows的hosts文件中配置上Kafka服务器的IP映射,配置目录在C:\Windows\System32\drivers\etc

《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers

2.打开C:\Windows\System32\drivers\etc,修改配置文件hosts,添加Kafka主机的映射关系

C:\Windows\System32\drivers\etc\hosts

125.262.96.387	zxy

3.断开连接后,在AdvancedBootstrap servers处配置好Kafka服务,重新连接即可

《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers

4.重新连接后,即可以看到已经可以正常看到Topics了

《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers

四、kafka数据到hudi丢失数据问题

1.报错问题


Caused by: java.lang.IllegalStateException: Cannot fetch offset 196 (GroupId: spark-kafka-source-6f1df211-fdcb-4bcc-813d-55c4f9661c9d-1732697149-executor, TopicPartition: news-0).
Some data may have been lost because they are not available in Kafka any more; either the
 data was aged out by Kafka or the topic may have been deleted before all the data in the
 topic was processed. If you don't want your streaming query to fail on such cases, set the
 source option "failOnDataLoss" to "false".

        at org.apache.spark.sql.kafka010.InternalKafkaConsumer$.org$apache$spark$sql$kafka010$InternalKafkaConsumer$$reportDataLoss0(KafkaDataConsumer.scala:642)
        at org.apache.spark.sql.kafka010.InternalKafkaConsumer.org$apache$spark$sql$kafka010$InternalKafkaConsumer$$reportDataLoss(KafkaDataConsumer.scala:448)
        at org.apache.spark.sql.kafka010.InternalKafkaConsumer$$anonfun$get$1.apply(KafkaDataConsumer.scala:269)
        at org.apache.spark.sql.kafka010.InternalKafkaConsumer$$anonfun$get$1.apply(KafkaDataConsumer.scala:234)
        at org.apache.spark.util.UninterruptibleThread.runUninterruptibly(UninterruptibleThread.scala:77)
        at org.apache.spark.sql.kafka010.InternalKafkaConsumer.runUninterruptiblyIfPossible(KafkaDataConsumer.scala:209)
        at org.apache.spark.sql.kafka010.InternalKafkaConsumer.get(KafkaDataConsumer.scala:234)
  • 翻译结果

    最终应用程序状态:失败,exitCode:15,(原因:用户类引发异常:org.apache.spark.sql.streaming.StreamingQueryException:由于阶段失败而中止作业:阶段2.0中的任务0失败4次,最近的失败:阶段2.0中的任务0.3丢失(TID 5,hadoop,executor 1):java.lang.IllegalStateException:无法获取偏移量196(GroupId:spark-kafka-source-e2868915-6d7a-4aef-99a8-3d1c5ef45147-1732697149-executor,主题分区:news-0)。
    一些数据可能已经丢失,因为它们在卡夫卡不再可用;要么是数据被卡夫卡过时了,要么是主题在处理完主题中的所有数据之前被删除了。如果您不希望流式查询在这种情况下失败,请将源选项“failOnDataLoss”设置为“false”。

2.根据提示添加配置文件 -> option(“failOnDataLoss”,“false”)

//5.读取Kafka源数据
        val df: DataFrame = spark.readStream.format("kafka")
            .option("kafka.bootstrap.servers", params.brokerList)
            .option("subscribe", params.topic)
            .option("startingOffsets", "latest")
            .option("kafka.consumer.commit.groupid", "action-log-group01")
            .option("failOnDataLoss","false")
            .load()

tips:认为添加这个配置不太妥当,但尚未找到适宜的方法
哪位博主知道的,希望可以指点指点文章来源地址https://www.toymoban.com/news/detail-459973.html

到了这里,关于《Kafka系列》Offset Explorer连接Kafka问题集合,Timeout expired while.. topic metadata,Uable to find any brokers的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Offset Explorer2 监视kafka的利器

    kafka作为一个生产者和消费者集为一体的框架,消费者必须一直保持打开的状态,并且每隔一段时间接收一次数据,才能够保持生产者放入的数据及时被处理掉,而生产者则可以每隔一段时间发送一波数据,这样消费者就能够接收到了。 Offset Explorer2 可以有效的监视kafka数据是

    2024年02月15日
    浏览(42)
  • kafka及可视化工具offset explorer

    KAFKA背景         Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个

    2024年02月16日
    浏览(50)
  • 【可视化工具】Kafka-Offset Explorer使用

    感谢点赞和关注 ,每天进步一点点!加油! 目录 一、概述 二、环境信息 三、安装和使用 3.1 下载Offset Explorer 和安装 3.2 软件配置 3.2.1Properties 3.2.2Properties 3.2.3Advanced 3.2.4 JAAS config 3.2.5修改配置文件 3.3 基本使用 3.3.1查看topic分区列表及分区leader位置信息 3.3.2查看数据 Offset E

    2024年01月16日
    浏览(42)
  • 【数仓】Kafka消息可视化工具:Offset Explorer(原名kafka Tool)

    Offset Explorer(以前称为Kafka Tool)是一个用于管理和使用Apache Kafka®集群的GUI应用程序。 它提供了一个直观的界面,允许用户快速查看Kafka集群中的对象以及集群主题中存储的消息。 它包含面向开发人员和管理员的功能。 一些主要功能包括: 快速查看所有Kafka集群,包括其代

    2024年04月09日
    浏览(48)
  • Kafka消息监控管理工具Offset Explorer的使用教程

    Offset Explorer是一款用于监控和管理Apache Kafka集群中消费者组偏移量的开源工具。它提供了一个简单直观的用户界面,用于查看和管理Kafka消费者组偏移量的详细信息。 Offset Explorer具有以下主要功能和特点: 实时监控:Offset Explorer可以实时监控Kafka集群中的消费者组偏移量。它

    2024年02月16日
    浏览(46)
  • kafka实战-消费者offset重置问题

    背景:当app启动时,会调用 “启动上报接口” 上报启动数据,该数据包含且不限于手机型号、应用版本、app类型、启动时间等,一站式接入平台系统会记录该数据。 生产者:“启动上报接口”会根据启动数据发送一条kafka消息,topic“xxx” 消费者:“启动处理模块”会监控

    2023年04月11日
    浏览(89)
  • kafka消费者程序日志报错Offset commit failed问题研究

    生产环境偶尔会遇到kafka消费者程序日志报错的问题 截取主要日志如下: kafka客户端版本为2.2.0 结合日志去阅读代码,只能大概定位到,是客户端程序向server发送commit offset请求的时候,server返回的错误信息是:The request timed out 看到 request timed out,第一时间很可能会误以为是

    2024年02月07日
    浏览(52)
  • Rancher连接超时问题:解决dial tcp xxx:: i/o timeout错误

    Rancher连接超时问题:解决dial tcp xxx:: i/o timeout错误 在使用Rancher进行编程时,有时可能会遇到连接超时的问题。特别是在执行Post请求时,可能会收到类似于\\\"dial tcp xxx:: i/o timeout\\\"的错误消息。本文将介绍如何解决这个问题,并提供相应的源代码示例。 出现这个错误的原因通常

    2024年02月05日
    浏览(38)
  • kafka查询offset&生产者offset计算&消费offset计算

    1、简介 ​ kafka的介绍:略…(有兴趣的同学可自行Google,这与本文无关 ^ _ ^) 2、需求背景 ​ 对kafka做监控,需要获取到kafka接收到消息的offset和被消费者消费掉消息的offset,编写接口将数值交给prometheus,直接观察判断kafka的消费性能如何。(如何自定义prometheus的监控指标后续

    2023年04月25日
    浏览(84)
  • Kafka之offset位移

    offset :在 Apache Kafka 中,offset 是一个用来唯一标识消息在分区中位置的数字。每个分区中的消息都会被分配一个唯一的 offset 值,用来表示该消息在该分区中的位置。消费者可以通过记录自己消费的最后一个 offset 值来跟踪自己消费消息的进度,确保不会漏掉消息或者重复消

    2024年04月10日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包