solr config ganglia report class not found exception

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

solr config ganglia report class not found exception

zhenyuan wei
Hi all,

My solr version is  release7.3.1,  and I follow the solr 7.3.0 ref guide to
config  ganglia
reporter in  solr.xml as below:

<solr>
  ......
  <metrics>
    <reporter name="solrganglia" group="node,solr"
class="org.apache.solr.metrics.reporters.SolrGangliaReporter">
      <str name="host">emr-header-1</str>
      <int name="port">8649</int>
    </reporter>
  </metrics>
</solr>

 than start solr service and encounted the  execption like:

2018-07-11 17:47:31.246 ERROR (main) [   ] o.a.s.s.SolrDispatchFilter Could
not start Solr. Check solr/home property and the logs
2018-07-11 17:47:31.266 ERROR (main) [   ] o.a.s.c.SolrCore
null:java.lang.NoClassDefFoundError: org/acplt/oncrpc/XdrEncodingStream
        at info.ganglia.gmetric4j.gmetric.GMetric.<init>(GMetric.java:82)
        at info.ganglia.gmetric4j.gmetric.GMetric.<init>(GMetric.java:58)
        at info.ganglia.gmetric4j.gmetric.GMetric.<init>(GMetric.java:40)
        at
org.apache.solr.metrics.reporters.SolrGangliaReporter.lambda$start$0(SolrGangliaReporter.java:106)
        at
org.apache.solr.metrics.reporters.ReporterClientCache.getOrCreate(ReporterClientCache.java:59)
        at
org.apache.solr.metrics.reporters.SolrGangliaReporter.start(SolrGangliaReporter.java:106)
        at
org.apache.solr.metrics.reporters.SolrGangliaReporter.doInit(SolrGangliaReporter.java:85)
        at
org.apache.solr.metrics.SolrMetricReporter.init(SolrMetricReporter.java:70)
        at
org.apache.solr.metrics.SolrMetricManager.loadReporter(SolrMetricManager.java:881)
        at
org.apache.solr.metrics.SolrMetricManager.loadReporters(SolrMetricManager.java:817)
        at org.apache.solr.core.CoreContainer.load(CoreContainer.java:546)
        at
org.apache.solr.servlet.SolrDispatchFilter.createCoreContainer(SolrDispatchFilter.java:263)
        at
org.apache.solr.servlet.SolrDispatchFilter.init(SolrDispatchFilter.java:183)
        at
org.eclipse.jetty.servlet.FilterHolder.initialize(FilterHolder.java:139)
        at
org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:741)
        at
org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:348)
        at
org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1515)
        at
org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1477)
        at
org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:785)
        at
org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:261)
        at
org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:545)
        at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at
org.eclipse.jetty.deploy.bindings.StandardStarter.processBinding(StandardStarter.java:41)
        at
org.eclipse.jetty.deploy.AppLifeCycle.runBindings(AppLifeCycle.java:188)
        at
org.eclipse.jetty.deploy.DeploymentManager.requestAppGoal(DeploymentManager.java:502)
        at
org.eclipse.jetty.deploy.DeploymentManager.addApp(DeploymentManager.java:150)
        at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.fileAdded(ScanningAppProvider.java:180)
        at
org.eclipse.jetty.deploy.providers.WebAppProvider.fileAdded(WebAppProvider.java:453)
        at
org.eclipse.jetty.deploy.providers.ScanningAppProvider$1.fileAdded(ScanningAppProvider.java:64)
        at org.eclipse.jetty.util.Scanner.reportAddition(Scanner.java:610)
        at
org.eclipse.jetty.util.Scanner.reportDifferences(Scanner.java:529)
        at org.eclipse.jetty.util.Scanner.scan(Scanner.java:392)
        at org.eclipse.jetty.util.Scanner.doStart(Scanner.java:313)
        at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at
org.eclipse.jetty.deploy.providers.ScanningAppProvider.doStart(ScanningAppProvider.java:150)
        at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at
org.eclipse.jetty.deploy.DeploymentManager.startAppProvider(DeploymentManager.java:564)
        at
org.eclipse.jetty.deploy.DeploymentManager.doStart(DeploymentManager.java:239)
        at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
       at
org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:133)
        at org.eclipse.jetty.server.Server.start(Server.java:418)
        at
org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:115)
        at
org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:113)
        at org.eclipse.jetty.server.Server.doStart(Server.java:385)
        at
org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
        at
org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1584)
        at
org.eclipse.jetty.xml.XmlConfiguration$1.run(XmlConfiguration.java:1508)
        at java.security.AccessController.doPrivileged(Native Method)
        at
org.eclipse.jetty.xml.XmlConfiguration.main(XmlConfiguration.java:1507)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.eclipse.jetty.start.Main.invokeMain(Main.java:221)
        at org.eclipse.jetty.start.Main.start(Main.java:504)
        at org.eclipse.jetty.start.Main.main(Main.java:78)
Caused by: java.lang.ClassNotFoundException:
org.acplt.oncrpc.XdrEncodingStream
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:448)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
        at
org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
        ... 56 more


Yes , I mean, why "org.acplt:oncrpc" dependency was excluded, and we need
package while
configurating  ganglia reporter

<dependency>
  <groupId>info.ganglia.gmetric4j</groupId>
  <artifactId>gmetric4j</artifactId>
  <version>1.0.7</version>
  <exclusions>
    <exclusion>
      <groupId>org.acplt</groupId>
      <artifactId>oncrpc</artifactId>
    </exclusion>
  </exclusions>
</dependency>