卡夫卡风暴整合

时间:2016-01-28 13:00:58

标签: java apache-kafka apache-storm

我正在尝试整合Kafka和Storm。

我创建了一个spout来读取Kafka消息并将它们作为元组发送出来。

在运行风暴拓扑时,我得到以下异常

Caused by: java.io.NotSerializableException: kafka.javaapi.consumer.ZookeeperConsumerConnector
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1184) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1548) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1509) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1432) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1178) ~[?:1.8.0_45]
    at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:348) ~[?:1.8.0_45]
    at backtype.storm.utils.Utils.javaSerialize(Utils.java:87) ~[storm-core-0.10.0.jar:0.10.0]
    ... 2 more

1 个答案:

答案 0 :(得分:0)

您应该将spout中的非序列化字段声明为瞬态字段。这些字段应该在您的喷口的开放方法中初始化。

相关问题