一、上手篇
装python库: pip install python-kafka
原理:https://blog.csdn.net/qq_29186199/article/details/80827085
简单案例:https://blog.csdn.net/weiwangchao_/article/details/81219701
二、kafka官方文档:
https://kafka-python.readthedocs.io/en/master/apidoc/KafkaConsumer.html
三、kafka小实例(fork自github官网)
https://github.com/frostjsy/kafka-python/blob/master/example.py
四、kafka重要参数详解
https://blog.csdn.net/qq_28410283/article/details/88569701
五、offset手动指定
https://www.cnblogs.com/lshan/p/11778752.html
六、遇到的问题
1、kafka灌数据后无消费输出,auto_offset_reset默认参数为'latest' 为最新的偏移,只有新写入数据时才能消费;将auto_offset_reset设置为'earliest'就可以看到历史推送的数据;
2、kafka一直从最开始消费,我这边是忘了设置consumer的groupid,偏移无法重定位,导致了每次都从头开始消费;添加groupid设置,并设置enable_auto_commit为true值。
3、kafka.errors.CommitFailedError解决:https://blog.csdn.net/russle/article/details/83040753
4、enable_auto_commit为true值时会导致漏消费数据和重复消费数据,offset设置问题避免漏消费和重复消费:https://www.cnblogs.com/FG123/p/10091599.html
5、当程序存在错误时,手动提交不指定offset也会导致数据丢失;kafka手动提交并指定offset参考:https://www.jianshu.com/p/c89997867d48