keenlabs / capillary

Storm Spout + Kafka State Inspector
MIT License
58 stars 18 forks source link

Still getting error for trident topo #12

Open alecinvan opened 9 years ago

alecinvan commented 9 years ago

Hi,

I 'v never been able to run capillary successfully. Here is how I set the zkroot in trident topo:

Config.TRANSACTIONAL_ZOOKEEPER_ROOT=/transactional/pipe_test_group

And the structure of root directory is [zk: localhost:2181(CONNECTED) 8] ls /transactional/pipe_test_group/spoutInit/user [partition_3, partition_4, partition_1, partition_2, partition_6, partition_0, partition_5, partition_7]

The root is: [zk: localhost:2181(CONNECTED) 0] ls / [transactional, zookeeper, admin, consumers, config, controller, kafka-manager, storm, brokers, controller_epoch]

I tried many times by setting different -Dcapillary.kafka.zkroot, it always ends up internal server error, like play.api.Application$$anon$1: Execution exception[[JsonMappingException: No content to map due to end-of-input at [Source: java.io.StringReader@20af6368; line: 1, column: 1]]] 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.databind.JsonMappingException: No content to map due to end-of-input at [Source: java.io.StringReader@20af6368; line: 1, column: 1] at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:164) ~[com.fasterxml.jackson.core.jackson-databind-2.3.2.jar:2.3.2] at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:3036) ~[com.fasterxml.jackson.core.jackson-databind-2.3.2.jar:2.3.2] at com.fasterxml.jackson.databind.ObjectMapper._readValue(ObjectMapper.java:2951) ~[com.fasterxml.jackson.core.jackson-databind-2.3.2.jar:2.3.2] at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:1587) ~[com.fasterxml.jackson.core.jackson-databind-2.3.2.jar:2.3.2] at play.api.libs.json.JacksonJson$.parseJsValue(JsValue.scala:486) ~[com.typesafe.play.play-json_2.10-2.3.4.jar:2.3.4]

This is one command: bin/capillary -Dcapillary.zookeepers=10.100.71.33:2181,10.100.70.28:2181,10.100.70.29:2181 -Dcapillary.kafka.zkroot=/transactional/pipe_test_group

Can you provide exactly command how to run it?

thanks

alecinvan commented 9 years ago

I tried to change the storm.zkroot, but it always come up such error

play.api.Application$$anon$1: Execution exception[[NoNodeException: KeeperErrorCode = NoNode for /transactional/pipe_test_group/spoutInit/coordinator/user]]

Here is where my trident topo data is stored:

[zk: localhost:2181(CONNECTED) 2] ls /transactional/pipe_test_group/spoutInit [coordinator, user]

If I set -Dcapillary.storm.zkroot= /transactional/pipe_test_group/spoutInit, it seems to pick up /transactional/pipe_test_group/spoutInit/coordinator first, instead of /user

How can I set this parameter?

thanks

zhaoxiaojie0415 commented 9 years ago

I got nothing in homepage, then i tried json output and got such information :{"partition":0,"amount":null,"current":21717333,"storm":null}. Capillary got such error information: 2015-08-14 15:35:26,720 - [ERROR] - from application in play-akka.actor.default-dispatcher-14 Storm State unavailable for partition 4 2015-08-14 15:35:26,720 - [ERROR] - from application in play-akka.actor.default-dispatcher-14 Storm State unavailable for partition 3 ... Could anyone give me some help or tips? Thanks in advance.