kafka遇到的坑
文章目錄
- 一、kafka_2.11-0.11.0.2版本中advertised.listeners參數(shù)導(dǎo)致的大坑:
- 二、offset is out of range
- 三、java.lang.IllegalStateException: No current assignment for partition djt_db.hehe.result-0
一、kafka_2.11-0.11.0.2版本中advertised.listeners參數(shù)導(dǎo)致的大坑:
場(chǎng)景:在我們自己的服務(wù)器上安裝好單機(jī)kafka_2.11-0.11.0.2后,讓另一家公司往我們的kafka的topic上推數(shù),因?yàn)槲覀儍杉业牡腖inux服務(wù)器都是在云上,所以需要做網(wǎng)絡(luò)映射讓他們的服務(wù)器能夠訪(fǎng)問(wèn)我們的服務(wù)器,能ping通也能Telnet端口9092。但是那家公司死活把數(shù)推不過(guò)來(lái)。總是報(bào)這么個(gè)錯(cuò):The ExecutionException occured : {}.
解決:修改我們服務(wù)器上kafka的config/server.properties文件advertised.listeners參數(shù),后重啟kakfa修改的才會(huì)生效
正確的配置:advertised.listeners=PLAINTEXT://kafkahost:9092
以前導(dǎo)致以上報(bào)錯(cuò)的配置:advertised.listeners=PLAINTEXT://我方內(nèi)網(wǎng)實(shí)際IP:9092
在我方的Linux服務(wù)器上的/etc/hosts文件下添加一行:
我方內(nèi)網(wǎng)實(shí)際IP kafkahost
在那家公司的Linux服務(wù)器上的/etc/hosts文件中添加一行:
我方映射給這家公司的IP kafkahost
做完以上操作后在代碼里寫(xiě)bootstrapServers, "kafkahost:9092"或者bootstrapServers, "我方映射給這家公司的IP:9092"都可以運(yùn)行成功
???
二、offset is out of range
當(dāng)手動(dòng)設(shè)置從指定的偏移量消費(fèi)數(shù)據(jù)的時(shí)候,有時(shí)候指定的偏移量超出范圍會(huì)報(bào)這個(gè)錯(cuò):
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注意:在實(shí)際使用中發(fā)現(xiàn)這么個(gè)問(wèn)題,那就是kafka中topic中的數(shù)據(jù)在設(shè)置的存儲(chǔ)天數(shù)到期后數(shù)據(jù)會(huì)被刪除,一開(kāi)始我們的topic中有10萬(wàn)條數(shù)據(jù),后來(lái)時(shí)間到期后數(shù)據(jù)自動(dòng)被刪除了,我就又重新生產(chǎn)了10萬(wàn)條數(shù)據(jù),本以為第二次生產(chǎn)的數(shù)據(jù)的offset也是從0開(kāi)始的,于是我就在代碼中設(shè)置從offset為0L的地方開(kāi)始消費(fèi),但是一直循環(huán)報(bào)錯(cuò):Fetch offset 0 is out of range for partition weishiDataOGG_append-0, resetting offset,后來(lái)才發(fā)現(xiàn)第二次生產(chǎn)的數(shù)據(jù)的offset并不是從0開(kāi)始的,而是在以前的基礎(chǔ)上累加的,后來(lái)在代碼中將offset設(shè)置成了99999L就不報(bào)那個(gè)錯(cuò)了。
???
三、java.lang.IllegalStateException: No current assignment for partition djt_db.hehe.result-0
??我用sparkstream連接的kafka,手動(dòng)提交偏移量,保存到zk中,我的分區(qū)0消費(fèi)到保存到zk中是20了,但是kafka中偏移量被另一個(gè)程序修改為起止是21了,所以消費(fèi)不到報(bào)了個(gè)這個(gè)錯(cuò)誤:
總結(jié)
- 上一篇: 大电流降压模块设计TPS5430
- 下一篇: 中国联通开放号码标记一键查询与清除服务