Closed rja1 closed 10 years ago
Hey there!
Sounds like I might not be doing things the right way for Trident-based spouts. That's good to know. We're not using Trident so to fix this I might need your help to test in the futre. Thanks for taking the time to poke at Zookeeper for me!
I'll set up a Trident topology locally and work on support. I'll update this ticket when I get it done.
I'd be happy to help test. Thanks!
I tried to bypass not supplying a root by replacing "//" with "/" in the zookeeper path.
play.api.Application$$anon$1: Execution exception[[JsonParseException: Unexpected character ('.' (code 46)): Expected space separating root-level values at [Source: java.io.StringReader@27323586; line: 1, column: 6]]] at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.api.DefaultApplication.handleError(Application.scala:402) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [org.scala-lang.scala-library-2.10.4.jar:na] Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('.' (code 46)): Expected space separating root-level values at [Source: java.io.StringReader@27323586; line: 1, column: 6] at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:1524) ~[com.fasterxml.jackson.core.jackson-core-2.3.2.jar:2.3.2] at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:557) ~[com.fasterxml.jackson.core.jackson-core-2.3.2.jar:2.3.2] at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:475) ~[com.fasterxml.jackson.core.jackson-core-2.3.2.jar:2.3.2] at com.fasterxml.jackson.core.base.ParserMinimalBase._reportMissingRootWS(ParserMinimalBase.java:495) ~[com.fasterxml.jackson.core.jackson-core-2.3.2.jar:2.3.2] at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._verifyRootSpace(ReaderBasedJsonParser.java:1178) ~[com.fasterxml.jackson.core.jackson-core-2.3.2.jar:2.3.2]
@rja1 I updated the paths so that they are trident compatible, see my fork here: https://github.com/shareaholic/capillary
I didn't do anything wrt a startup flag to differentiate between storm/trident. But that shouldn't be that difficult.
Thanks @roughley! I'd love a PR for this if you can come up with a way to have it differentiate via config or something.
Great, thanks! I'll test it Monday or Tuesday!
Bests,
Rob
On Fri, Sep 12, 2014 at 2:04 PM, roughley <notifications@github.com javascript:_e(%7B%7D,'cvml','notifications@github.com');> wrote:
@rja1 https://github.com/rja1 I updated the paths so that they are trident compatible, see my fork here: https://github.com/shareaholic/capillary
I didn't do anything wrt a startup flag to differentiate between storm/trident. But that shouldn't be that difficult.
— Reply to this email directly or view it on GitHub https://github.com/keenlabs/capillary/issues/5#issuecomment-55453866.
Closing this since the feature is now merged to master. Let us know if it works for you @rja1
Apologies for the delay and thanks again for the work.
It's not working for me.... not sure if I'm doing something wrong or not. See the exception below. Note that we're running two topologies. One uses a traditional kafka spout, the other uses trident. Both connect to the same zookeeper cluster. I may be setting my roots incorrectly, although I've tried numerous combinations, none of which seem to work.
Thanks
! @6ji192g86 - Internal server error, for (GET) [/] ->
play.api.Application$$anon$1: Execution exception[[IndexOutOfBoundsException: Index: 0, Size: 0]] at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.api.DefaultApplication.handleError(Application.scala:402) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) ~[org.scala-lang.scala-library-2.10.4.jar:na] Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:604) ~[na:1.7.0_25] at java.util.ArrayList.get(ArrayList.java:382) ~[na:1.7.0_25] at models.ZkKafka$.getSpoutTopology(ZkKafka.scala:52) ~[capillary.capillary-1.2.jar:1.2] at models.ZkKafka$$anonfun$getTopologies$1.apply(ZkKafka.scala:42) ~[capillary.capillary-1.2.jar:1.2] at models.ZkKafka$$anonfun$getTopologies$1.apply(ZkKafka.scala:41) ~[capillary.capillary-1.2.jar:1.2]
On Tue, Sep 16, 2014 at 9:03 AM, Cory G Watson notifications@github.com wrote:
Closing this since the feature is now merged to master. Let us know if it works for you @rja1 https://github.com/rja1
— Reply to this email directly or view it on GitHub https://github.com/keenlabs/capillary/issues/5#issuecomment-55756764.
What I’ve found is that based on the way that the kafka-spout (I’m using the storm external version) uses nodes, and lack of re-tries, I sometimes need to refresh the page a few times before I get a result. I also made additional updates yesterday, not sure if they have been merged yet.
-- Ian Roughley Sent with Airmail
On September 19, 2014 at 12:32:09 PM, rja1 (notifications@github.com) wrote:
Apologies for the delay and thanks again for the work.
It's not working for me.... not sure if I'm doing something wrong or not. See the exception below. Note that we're running two topologies. One uses a traditional kafka spout, the other uses trident. Both connect to the same zookeeper cluster. I may be setting my roots incorrectly, although I've tried numerous combinations, none of which seem to work.
Thanks
! @6ji192g86 - Internal server error, for (GET) [/] ->
play.api.Application$$anon$1: Execution exception[[IndexOutOfBoundsException: Index: 0, Size: 0]] at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.api.DefaultApplication.handleError(Application.scala:402) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) ~[org.scala-lang.scala-library-2.10.4.jar:na] Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:604) ~[na:1.7.0_25] at java.util.ArrayList.get(ArrayList.java:382) ~[na:1.7.0_25] at models.ZkKafka$.getSpoutTopology(ZkKafka.scala:52) ~[capillary.capillary-1.2.jar:1.2] at models.ZkKafka$$anonfun$getTopologies$1.apply(ZkKafka.scala:42) ~[capillary.capillary-1.2.jar:1.2] at models.ZkKafka$$anonfun$getTopologies$1.apply(ZkKafka.scala:41) ~[capillary.capillary-1.2.jar:1.2]
On Tue, Sep 16, 2014 at 9:03 AM, Cory G Watson notifications@github.com wrote:
Closing this since the feature is now merged to master. Let us know if it works for you @rja1 https://github.com/rja1
— Reply to this email directly or view it on GitHub https://github.com/keenlabs/capillary/issues/5#issuecomment-55756764.
— Reply to this email directly or view it on GitHub.
I just merged changes from @roughley. Can you test @rja1?
I'll test it now, thanks
On Fri, Sep 19, 2014 at 11:25 AM, Cory G Watson notifications@github.com wrote:
I just merged changes from @roughley https://github.com/roughley. Can you test @rja1 https://github.com/rja1?
— Reply to this email directly or view it on GitHub https://github.com/keenlabs/capillary/issues/5#issuecomment-56207767.
See error before.
Just to clarify, I'm pulling the latest version here: https://github.com/keenlabs/capillary/archive/master.zip - md5: b76175e17ee5728201cd313393159b89 (merged 11 minutes ago)
I'm then building like:
Just wanted to make sure I'm not doing something silly, as I'm sort of a newb to this.
Thanks,
Rob
[error] application -
! @6ji1km7l3 - Internal server error, for (GET) [/] ->
play.api.Application$$anon$1: Execution exception[[JsResultException: JsResultException(errors:List((,List(ValidationError(error.expected.jsstring,WrappedArray())))))]] at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.api.DefaultApplication.handleError(Application.scala:402) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) ~[org.scala-lang.scala-library-2.10.4.jar:na] Caused by: play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(error.expected.jsstring,WrappedArray()))))) at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4] at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4] at play.api.libs.json.JsResult$class.fold(JsResult.scala:77) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4] at play.api.libs.json.JsError.fold(JsResult.scala:13) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4] at play.api.libs.json.JsValue$class.as(JsValue.scala:65) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4]
Zookeeper structure:
[zk: localhost:2181(CONNECTED) 4] ls / [transactional, realtimeroot, zookeeper, admin, consumers, config, controller, storm, brokers, controller_epoch]
On Fri, Sep 19, 2014 at 11:26 AM, Rob Anderson rockclimbing@gmail.com wrote:
I'll test it now, thanks
On Fri, Sep 19, 2014 at 11:25 AM, Cory G Watson notifications@github.com wrote:
I just merged changes from @roughley https://github.com/roughley. Can you test @rja1 https://github.com/rja1?
— Reply to this email directly or view it on GitHub https://github.com/keenlabs/capillary/issues/5#issuecomment-56207767.
Hi.
I am starting Capillary by following command in terminal
bin/capillary -Dcapillary.zookeepers=192.168.51.98:2181
Please note that Kafka is at machine 1, Zookeeper is at machine 2 and storm is at machine 3. And i am running Capillary from a different machine, suppose machine 4. Initially I was not providing any configuration for kafka.zkroot and storm.zkroot. Then I provided the whole path to kafak and storm as follows (in application.conf)
capillary.zookeepers="192.168.51.98:2181" capillary.kafka.zkroot="192.168.50.124:/home/kafka_2.10-0.8.1" capillary.storm.zkroot="192.168.50.247:/home/storm-0.9.0.1"
Then I started the Capillary again. But I am getting the following exception in terminal where capillary is running
[error] application -
! @6kim8ncei - Internal server error, for (GET) [/] ->
play.api.Application$$anon$1: Execution exception[[IndexOutOfBoundsException: Index: 0, Size: 0]] at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.api.DefaultApplication.handleError(Application.scala:402) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [org.scala-lang.scala-library-2.10.4.jar:na] Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 at java.util.ArrayList.rangeCheck(ArrayList.java:635) ~[na:1.7.0_40] at java.util.ArrayList.get(ArrayList.java:411) ~[na:1.7.0_40] at models.ZkKafka$.getSpoutTopology(ZkKafka.scala:50) ~[capillary.capillary-1.2.jar:1.2] at models.ZkKafka$$anonfun$getTopologies$1.apply(ZkKafka.scala:42) ~[capillary.capillary-1.2.jar:1.2] at models.ZkKafka$$anonfun$getTopologies$1.apply(ZkKafka.scala:41) ~[capillary.capillary-1.2.jar:1.2]
Please guide me. Whats wrong in my configuration or setup
Thanks
https://github.com/keenlabs/capillary/issues/5
I see this Issue close. But as the above comment states . I am also having the same issue.
My Structure of kafka and storm:
Machine 1 : Zookeeper kafka Machine 2 : Broker 1 , broker 2 , broker 3 Machine 3 : Storm zookeeper
from Machine 1 i am running capillary too.
And initially get no error: but when i browse the page on http://servername:9000/
it throws series of exceptions & Errors :
[error] application - Zookeeper Path /consumers/console-consumer-77266/offsets returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-77266/owners returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-77266/ids returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-51896/offsets returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-51896/owners returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-51896/ids returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-40428/offsets returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-40428/owners returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-40428/ids returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-96631/offsets returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-96631/owners returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-96631/ids returned (null)! [error] application - Zookeeper Path /consumers/test-consumer-group/offsets returned (null)! [error] application - Zookeeper Path /consumers/test-consumer-group/owners returned (null)! [error] application - Zookeeper Path /consumers/test-consumer-group/ids returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-26088/offsets returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-26088/owners returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-26088/ids returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-32282/offsets returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-32282/owners returned (null)! [error] application - Zookeeper Path /consumers/console-consumer-32282/ids returned (null)! [error] application -
! @6lo66dmo4 - Internal server error, for (GET) [/] ->
play.api.Application$$anon$1: Execution exception[[JsResultException: JsResultException(errors:List((,List(ValidationError(error.expected.jsstring,WrappedArray())))))]] at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.api.DefaultApplication.handleError(Application.scala:402) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) [com.typesafe.play.play_2.10-2.3.4.jar:2.3.4] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) [org.scala-lang.scala-library-2.10.4.jar:na] Caused by: play.api.libs.json.JsResultException: JsResultException(errors:List((,List(ValidationError(error.expected.jsstring,WrappedArray()))))) at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4] at play.api.libs.json.JsValue$$anonfun$2.apply(JsValue.scala:67) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4] at play.api.libs.json.JsResult$class.fold(JsResult.scala:77) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4] at play.api.libs.json.JsError.fold(JsResult.scala:13) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4] at play.api.libs.json.JsValue$class.as(JsValue.scala:65) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4]
Hey @hsitaa,
Can you show us some of the results from your zkClient.sh regarding the paths above that are reporting null? Also, are you using the version currently in master?
This is mostly likely a configuration issue. Unless you can provide some help there we can't easily help you.
I'm likely not setting capillary.kafka.zkroot or capillary.storm.zkroot correctly, resulting in the below exception.
I've tried setting these parameters a number of times, using different paths - nothing seems to make a difference.
We're running two topologies. One is using trident, the other is not. We're running zookeeper-3.4.5, apache-storm-0.9.2-incubating and kafka_2.8.0-0.8.1.
We're not setting a storm or kafka root, so I would think whatever the app defaults to should be correct. Here's the zookeeper structure.
[zk: localhost:2181(CONNECTED) 0] ls / [transactional, realtimeroot, zookeeper, admin, consumers, config, controller, storm, brokers, controller_epoch]
Note that realtimeroot is the spout-root for one of the topos. The trident topo seems to store it's data in /transactional/topo_name/user
Here's the error: [root@mon01 bin]# ./capillary -Dcapillary.zookeepers=storm11:2181 Play server process ID is 477 SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/capillary-1.1/lib/ch.qos.logback.logback-classic-1.1.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/capillary-1.1/lib/org.slf4j.slf4j-log4j12-1.6.1.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder] [info] play - Application started (Prod) [info] play - Listening for HTTP on /0.0.0.0:9000 [error] application -
! @6jb9j204i - Internal server error, for (GET) [/] ->
play.api.Application$$anon$1: Execution exception[[IllegalArgumentException: Invalid path string "//transactional" caused by empty node name specified @1]] at play.api.Application$class.handleError(Application.scala:296) ~[com.typesafe.play.play_2.10-2.3.2.jar:2.3.2] at play.api.DefaultApplication.handleError(Application.scala:402) ~[com.typesafe.play.play_2.10-2.3.2.jar:2.3.2] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:205) ~[com.typesafe.play.play_2.10-2.3.2.jar:2.3.2] at play.core.server.netty.PlayDefaultUpstreamHandler$$anonfun$14$$anonfun$apply$1.applyOrElse(PlayDefaultUpstreamHandler.scala:202) ~[com.typesafe.play.play_2.10-2.3.2.jar:2.3.2] at scala.runtime.AbstractPartialFunction.apply(AbstractPartialFunction.scala:33) ~[org.scala-lang.scala-library-2.10.4.jar:na] Caused by: java.lang.IllegalArgumentException: Invalid path string "//transactional" caused by empty node name specified @1 at org.apache.zookeeper.common.PathUtils.validatePath(PathUtils.java:99) ~[org.apache.zookeeper.zookeeper-3.4.6.jar:3.4.6-1569965] at org.apache.zookeeper.ZooKeeper.getChildren(ZooKeeper.java:1572) ~[org.apache.zookeeper.zookeeper-3.4.6.jar:3.4.6-1569965] at org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:214) ~[org.apache.curator.curator-framework-2.6.0.jar:na] at org.apache.curator.framework.imps.GetChildrenBuilderImpl$3.call(GetChildrenBuilderImpl.java:203) ~[org.apache.curator.curator-framework-2.6.0.jar:na] at org.apache.curator.RetryLoop.callWithRetry(RetryLoop.java:107) ~[org.apache.curator.curator-client-2.6.0.jar:na]
Please advise. Thanks