Hi,
I’ve defined the following KafkaSpout:
BrokerHosts hosts = new ZkHosts("localhost:2181");
SpoutConfig spoutConfig = new SpoutConfig(hosts, "bytes", "",
UUID.randomUUID().toString());
spoutConfig.scheme = new RawMultiScheme();
KafkaSpout kafkaSpout = new KafkaSpout(spoutConfig);
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("bytes", kafkaSpout);
But, after submitting the topology using the StormSubmitter, and executing
bin/storm monitor topology -m bytes I get the following error:
Exception in thread "main" java.lang.IllegalArgumentException: stream: default
not found
at org.apache.storm.utils.Monitor.metrics(Monitor.java:223)
at org.apache.storm.utils.Monitor.metrics(Monitor.java:159)
at org.apache.storm.command.monitor$_main.doInvoke(monitor.clj:36)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at org.apache.storm.command.monitor.main(Unknown Source)
which to me indicates that Storm i.e. the KafkaSpout could have not connect to
the Kafka broker and its topic respectively, hence no stream has been
constructed.
Does anyone have experience with similar issues? Is my definition of the
KafkaSpout valid. For integrating Kafka, I’ve followed the official Storm
documentation http://storm.apache.org/releases/2.0.0-SNAPSHOT/storm-kafka.html.
How does Storm connect to Kafka actually? Because from both the docs, and the
example of mine, no explicit definition of the Kafka bootstrap servers was
given - such as localhost:9092 (assuming Kafka is using the default 9092 port).
Thanks in advance!
Dominik