近日需要在项目用到kafka,然后本地使用cdh集成的kafka 进行安装调试,以及些样例代码,sparkstreaming 相关调用kafka 的代码使用的原始的api 而没有走zookeeper,虽然消费者能启动,但无法消费内容。
开始我使用shell下的zk方式是可以消费误认为kafka也是没有问题的,后来想了一下是否shell也可能使用api来访问看下情况。
之后我使用bootstrap-server的方式在shell下进行测试,果然后些的样例代码一样,无法消费。
之后就是无脑的百度,谷歌,但没有得到解决方案。
之后我更改log4j 指定为debug出现如下错误:
DEBUG internals.AbstractCoordinator: Group coordinator lookup for group console-consumer-41941 failed: The coordinator is not available.
紧接着又是谷歌,资料也是很少。不过在这篇文章有人回复有可能该问题是0.10的一个死锁导致。
文章:https://github.com/dpkp/kafka-python/issues/743
bug??好吧。然后我关闭了cdh的kafka 下载了当前0.10大版本的最新版0.10.2.2进行安装,该版本无这样的情况。
本来想看下cdh目前的最新版的集成的kafka版本可惜没找到:
https://archive.cloudera.com/cdh5/cdh/5/
------------------------------分割线---------------------------
目前来看也就是说,如果我享用cdh的kafka 方便安装管理,那么我就只能代码使用zk的方式去取数据,而不能使用原始的api的形式。相关的样例代码只有去spark 的demo文件里边找。(文件为:spark/examples/src/main/scala/org/apache/spark/examples/streaming/KafkaWordCount.scala ),若按照目前的spark 2.* 的官方文档,则使用的全是api 的形式,那么目前的cdh的kafka版本应该就不能继续使用。特此记录
原文地址:http://blog.51cto.com/qidai/2156108