kafka遇到的坑

一、kafka_2.11-0.11.0.2版本中advertised.listeners参数导致的大坑:

场景:在我们自己的服务器上安装好单机kafka_2.11-0.11.0.2后,让另一家公司往我们的kafka的topic上推数,因为我们两家的的Linux服务器都是在云上,所以需要做网络映射让他们的服务器能够访问我们的服务器,能ping通也能Telnet端口9092。但是那家公司死活把数推不过来。总是报这么个错:The ExecutionException occured : {}.
在这里插入图片描述解决:修改我们服务器上kafka的config/server.properties文件advertised.listeners参数,后重启kakfa修改的才会生效

正确的配置:advertised.listeners=PLAINTEXT://kafkahost:9092
以前导致以上报错的配置:advertised.listeners=PLAINTEXT://我方内网实际IP:9092
在我方的Linux服务器上的/etc/hosts文件下添加一行:
我方内网实际IP kafkahost
在那家公司的Linux服务器上的/etc/hosts文件中添加一行:
我方映射给这家公司的IP kafkahost
做完以上操作后在代码里写bootstrapServers, "kafkahost:9092"或者bootstrapServers, "我方映射给这家公司的IP:9092"都可以运行成功
​​ 

二、offset is out of range

当手动设置从指定的偏移量消费数据的时候,有时候指定的偏移量超出范围会报这个错:

2020-03-31 12:34:13.394  INFO 94001 --- [ConsumerExample] o.a.k.c.consumer.internals.Fetcher       : Fetch offset 228668 is out of range for partition weishiDataOGG_append-0, resetting offset

注意:在实际使用中发现这么个问题,那就是kafka中topic中的数据在设置的存储天数到期后数据会被删除,一开始我们的topic中有10万条数据,后来时间到期后数据自动被删除了,我就又重新生产了10万条数据,本以为第二次生产的数据的offset也是从0开始的,于是我就在代码中设置从offset为0L的地方开始消费,但是一直循环报错:Fetch offset 0 is out of range for partition weishiDataOGG_append-0, resetting offset,后来才发现第二次生产的数据的offset并不是从0开始的,而是在以前的基础上累加的,后来在代码中将offset设置成了99999L就不报那个错了。

猜你喜欢

转载自blog.csdn.net/m0_37739193/article/details/105346988
今日推荐