python 操作kafka主要有两个库,pykafka和kafka-python, 网上有些文章说明两者的差异。如果不是特殊的需求,估计基本的操作两者都能满足,因为用过pymysql,所以这里就选择一个pykafka开坑吧。
官方文档:
http://pykafka.readthedocs.io/en/latest
github:
https://github.com/Parsely/pykafka
私以为这个文档写的对中国人不怎么友好啊。反正我是看的一脸懵逼,上面的demo一些也敲不过去。好多问题还是从github的issue上一点点挖出来结果。
安装
pip install pykafka
安装基本没有什么幺蛾子,等一会就安装好了。
kafka配置
操作kafka相信你看到这篇文章,基本的环境是有了。
说下我的环境,一台机器安装了kafka和zookeeper(也可以用kafka自带的zookeeper)。
另一台机器远程生产或消费
如果在安装机器上搞,问题会少一点,如果是在远程的机器上生产和消费,对kafka的配置就要多一点。
不少文章都表示,需要修改/etc/hosts文件,好让kafka解析到对应的ip地址上。老版本可能需要这个操作,至少我没配置也正常使用了。
vim config/server.properties
advertised.listeners=PLAINTEXT://xxx.xxx.xxx.xxx:9092
修改kafka 的server配置文件。
xxx.xxx.xxx.xxxy一定要填入具体的ip地址,我直接填了0.0.0.0导致后面远程连接一直出错。
修改后重启下服务。
还有些外网访问的配置,端口开放等,这里不细说,那是另一个话题。</