GYAOの窓際エンジニア 玉利です。
いま、Mac上に構築したKafkaとApache NiFiでシステム開発をしているのですが、getKafkaが動かない問題に直面し、今週一週間まるっとハマってました。
飲まなきゃやってらんねーよと、家に帰ってからセコセコ検証してたのですが、飲んでたら解決しました。
スーパー意訳
I've upgraded from Nifi 0.4.1 to 0.5.0 and I am no longer able to use the GetKafka processor.
0.4.1から0.5.0にあげたらGetKafkaが動かなくなったんだけど
Any chance to attache the app-log or relevant stack trace?
app-logかスタックトレースは?
The only change that ’s went and relevant to your issue is the fact that we’ve upgraded client libraries to Kafka 0.9 and between 0.8 and 0.9 Kafka introduced wire protocol changes that break compatibility.
I am still digging so stay tuned.
Kafkaのクライアントライブラリを0.9に上げたんだけどプロトコル互換性がなくなったみたい。掘り返してみるから待っててね
〜 詳細なので中略 〜
I replaced my 0.5.0 kafka nar with the 0.4.1 kakfa nar and it fixed my kafka issue. I renamed the 0.4.1 nar to be 0.5.0.nar and restart nifi and my kafka processor started reading my 0.8.2.1 stream. Not elegant but glad it worked.
0.4.1のkafka.narをリネームコピーして0.5.0にしたら、kafka 0.8.2.1のストリームを読めた。エレガントじゃないけど動いてよかった。
All just as a point of reference we now have a live system running that is on NiFi 0.5.0 and feeding three versions of Kafka at once:
- 0.8.1
- 0.8.2.0
- 0.9.0.1
(中略) これこれのKafkaバージョン + NiFi 0.5.0だと動いてる
brewのkafkaのバージョンは。。。。見事にハマり。
[btamari@MBP-15UAC-072 ~]$ brew list kafka
/usr/local/Cellar/kafka/0.8.2.2/bin/kafka-console-consumer.sh
/usr/local/Cellar/kafka/0.8.2.2/bin/kafka-console-producer.sh
とりあえず、コピーしたら動いた!
お行儀わるいけど、上書きしました。
$ cp nifi-kafka-nar-0.5.1.nar nifi-kafka-nar-0.5.1.nar.org
$ cp ../../nifi-0.4.1/lib/nifi-kafka-nar-0.4.1.nar ./nifi-kafka-nar-0.5.1.nar

人柱になってしまいました。皆様お気をつけを。。。。