kafk消费端连错误主题报错

kafk消费端连错误主题报错,第1张

org.apache.kafka.clients.consumer.OffsetOutOfRangeException: Offsets out of range with no configured reset policy for partitions: {qukan_log_v3-198=2289560518} 报错原因:当消费者消费offset大于或小于当前kafka集群的offset值时,消费会报错(比如场景一:一个consumer group消费某topic,当consumer group间隔几天不消费,Kafka内部数据会自动清除之前的数据,程序再次启动时,会找之前消费到的offset进行消费,此时,若Kafka已经删除此offset值,就会产生此报错。场景二:consumer group消费一直有积压,topic保留时间为1hour,当积压的数据已经被删除,消费到被删除的数据时,会出现找不到offset情况,然后报此错误)。 解决办法:换个groupid进行消费或者解决积压问题 2、报错信息: kafka: error while consuming qukan_client_collect_cmd_8037_v3/23: lz4: invalidheaderchecksum: got 1aexpected 82 原因:sarama包版本太低,不能解压缩lz4 解决办法: config := sarama.NewConfig() config.Version = sarama.V2_1_0_0 (换成对应的Kafka版本) 3、报错信息: kafka server: The client is not authorized to access this topic. 原因:带acl认证的Kafka未授权 4、报错信息: the compression code is invalid or its codec has not been imported kafka-go 原因:当用户用kafka-go消费topic时,consumer不能自动解压缩。因此加上下面代码就能解决解决办法: lz4.NewCompressionCodec() // 加上这行 r := kafka.NewReader(kafka.ReaderConfig{

1.环境:

kafka部署在其他服务器上,使用默认配置文件启动

2.问题:

在非docker环境下部署程序,可正常访问kafka,在docker部署的程序中访问kafka提示超时.

3.解决

1)首先排除了docker主机和容器内不能访问kafka(IP:9092)的问题

2)考虑是不是kafka要配置什么,因为我们测试环境是默认启动的.检查发现server.properties是核心配置文件,阅读注释,发现有本地IP端口和对外IP端口配置,尝试修改(默认是注释掉了)

3)重启kafka后发现正常链接了.问题解决

一、内网IP只能在内网局域网访问连接,在外网是不能认识内网IP不能访问的。如有路由权限,且路由有固定公网IP,可以通过路由的端口映射,实现外网访问内网。如无路由,或路由无公网IP,需要借助第三方开放的nat123端口映射网络辅助实现外网访问内网。

端口映射网络辅助的好处是适用于任何网络环境,外网访问内网的实现过程:

在内网安装并启用nat123端口映射。添加映射,配置内外网映射信息,对应内网IP端口和外网自己的域名。外网地址可直接使用提示默认域名。

NAT映射后,通过域名访问,即可以连接内网对应IP应用。

二、要用到第三方开放的花生壳端口映射网络辅助实现外网访问内网。

方法

1、在内网安装并启用花生壳端口映射。添加映射,配置内外网映射信息,对应内网IP端口和外网自己的域名。外网地址可直接使用提示默认域名。

2、点击你想映射的域名,进入花生壳端口映射添加界面,点击打开内网映射。

3、应用名称可以随便填个好记的,内网主机就是你想被公网访问的那台电脑IP地址,内网端口就是希望被映射的端口,如下。我的内网主机是本机,就是192.168.21.250,希望被映射的端口是1024。点击确定,就启动端口映射了。

4、现在端口映射窗口就会添加一条映射记录,此时,花生壳映射后,通过域名访问,即可以连接内网对应IP应用。公网只要使用花生壳分配的这个域名+端口,就可以访问内网的主机了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8094447.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-13
下一篇2023-04-13

发表评论

登录后才能评论

评论列表(0条)

    保存