shunfei / DCMonitor

Data Center monitor, included zookeeper, kafka, druid
MIT License
246 stars 91 forks source link

监控storm消费kafka报异常 #38

Closed yy1 closed 9 years ago

yy1 commented 9 years ago

监控storm消费kafka报如下异常 Oct 20, 2015 3:13:12 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is java.lang.NullPointerException] with root cause java.lang.NullPointerException at com.sf.monitor.kafka.KafkaInfos.getStormKafkaClients(KafkaInfos.java:353) at com.sf.monitor.controllers.KafkaController.stormkafka(KafkaController.java:85) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852) at javax.servlet.http.HttpServlet.service(HttpServlet.java:620) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:108) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:501) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:683) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1040) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1721) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1679) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745)

sundy-li commented 9 years ago

You will find "stormKafkaRoot": "/storm_kafka" in config/config.json file.

Try to modify it to the correct root, the sample code is

   SpoutConfig spoutConfig = new SpoutConfig(
      hosts,
      kafkaConfig.getTopic(),
      "/storm_kafka",
      zkPath
    );

So we set it to "/storm_kafka" if you don't have storm cluster, set it to an empty String will work.

yy1 commented 9 years ago

是这样配置吗? "kafka": { "warning": true, "warnDefaultLag": 100, "warnLagSpec": { "test|dsp_druid_ingester_0": 200 }, "@ignoreConsumerRegex": "set ignoreConsumerRegex to ignore sending warning on those test consumers", "ignoreConsumerRegex": "^console-consumer-.+$", "stormKafka": "/storm_kafka_comsumer" }, 这是zk的路径 [zk: localhost:2181(CONNECTED) 36] get /storm_kafka_comsumer/hdfsKafka/partition_0 {"topology":{"id":"27d3362d-242f-4a8f-a834-ea684209299d","name":"online_log"},"offset":185467225,"partition":0,"broker":{"host":"kafka3.dmp.com","port":9092},"topic":"collect"}

sundy-li commented 9 years ago

It is correct, by the way the word comsumer is not well spelled~

Now I close this issue, will be reopen if it not work.

yy1 commented 9 years ago

可是仍然报这个错误...

sundy-li commented 9 years ago

see https://github.com/shunfei/DCMonitor/issues/39