Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
-
None
Description
Atlas fails to communicate with solr when the zookeeper quorum has more than one host, as a result of this atlas fails to comeup.
Actually the config parameter "atlas.graph.index.search.solr.zookeeper-url" value is set to "zookeeper_quorum/logsearch". Since there are more than one zookeeper servers deployed, this value evaluates to "[os-r6-apathan-atlas-erie-nosec-3.openstacklocal:2181, os-r6-apathan-atlas-erie-nosec-2.openstacklocal:2181/logsearch]" which seems to wrong.
Below is the application log of atlas
2016-05-05 18:32:42,394 DEBUG - [main:] ~ atlas.graph.index.search.directory = /var/lib/atlas/data/es (ApplicationProperties:86) 2016-05-05 18:32:42,394 DEBUG - [main:] ~ atlas.graph.index.search.elasticsearch.client-only = false (ApplicationProperties:86) 2016-05-05 18:32:42,394 DEBUG - [main:] ~ atlas.graph.index.search.elasticsearch.local-mode = true (ApplicationProperties:86) 2016-05-05 18:32:42,394 DEBUG - [main:] ~ atlas.graph.index.search.solr.mode = cloud (ApplicationProperties:86) 2016-05-05 18:32:42,395 DEBUG - [main:] ~ atlas.graph.index.search.solr.zookeeper-url = [os-r6-apathan-atlas-erie-nosec-3.openstacklocal:2181, os-r6-apathan-atlas-erie-nosec-2.openstacklocal:2181/logsearch] (ApplicationProperties:86) 2016-05-05 18:32:42,395 DEBUG - [main:] ~ atlas.graph.storage.backend = hbase (ApplicationProperties:86)
The exception because of this
2016-05-05 18:33:11,212 INFO - [main:] ~ Session: 0x25480887e74006a closed (ZooKeeper:684) 2016-05-05 18:33:11,215 WARN - [main:] ~ FAILED o.e.j.w.WebAppContext@65064ae0{/,file:/var/lib/atlas/server/webapp/atlas/,STARTING}{/var/lib/atlas/server/webapp/atlas}: java.lang.ExceptionInInitializerError (AbstractLifeCycle:212) java.lang.ExceptionInInitializerError at org.apache.atlas.repository.graph.DeleteHandler.<clinit>(DeleteHandler.java:48) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.atlas.ApplicationProperties.getClass(ApplicationProperties.java:99) at org.apache.atlas.RepositoryMetadataModule.getDeleteHandler(RepositoryMetadataModule.java:114) at org.apache.atlas.RepositoryMetadataModule.configure(RepositoryMetadataModule.java:90) at com.google.inject.AbstractModule.configure(AbstractModule.java:62) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.spi.Elements.getElements(Elements.java:110) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) at com.google.inject.Guice.createInjector(Guice.java:96) at com.google.inject.Guice.createInjector(Guice.java:73) at com.google.inject.Guice.createInjector(Guice.java:62) at org.apache.atlas.web.listeners.GuiceServletConfig.getInjector(GuiceServletConfig.java:79) at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47) at org.apache.atlas.web.listeners.GuiceServletConfig.contextInitialized(GuiceServletConfig.java:148) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) at org.eclipse.jetty.server.Server.start(Server.java:387) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) at org.eclipse.jetty.server.Server.doStart(Server.java:354) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:93) at org.apache.atlas.Atlas.main(Atlas.java:113) Caused by: java.lang.IllegalArgumentException: Could not instantiate implementation: com.thinkaurelius.titan.diskstorage.solr.Solr5Index at com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:55) at com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass(Backend.java:421) at com.thinkaurelius.titan.diskstorage.Backend.getIndexes(Backend.java:408) at com.thinkaurelius.titan.diskstorage.Backend.<init>(Backend.java:139) at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:1748) at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.<init>(StandardTitanGraph.java:110) at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:93) at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:73) at org.apache.atlas.repository.graph.TitanGraphProvider.getGraphInstance(TitanGraphProvider.java:105) at org.apache.atlas.repository.graph.GraphHelper.<clinit>(GraphHelper.java:64) ... 34 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:44) ... 43 more Caused by: org.apache.solr.common.SolrException: Cannot connect to cluster at os-r6-apathan-atlas-erie-nosec-3.openstacklocal:2181: cluster not found/not ready at org.apache.solr.common.cloud.ZkStateReader.createClusterStateWatchersAndUpdate(ZkStateReader.java:344) at org.apache.solr.client.solrj.impl.CloudSolrClient.connect(CloudSolrClient.java:458) at com.thinkaurelius.titan.diskstorage.solr.Solr5Index.<init>(Solr5Index.java:211) ... 48 more 2016-05-05 18:33:11,243 INFO - [main:] ~ Started ServerConnector@4003a5ad{HTTP/1.1}{0.0.0.0:21000} (ServerConnector:266) 2016-05-05 18:33:11,244 WARN - [main:] ~ FAILED org.eclipse.jetty.server.Server@4b4ada44: java.lang.ExceptionInInitializerError (AbstractLifeCycle:212) java.lang.ExceptionInInitializerError at org.apache.atlas.repository.graph.DeleteHandler.<clinit>(DeleteHandler.java:48) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:264) at org.apache.atlas.ApplicationProperties.getClass(ApplicationProperties.java:99) at org.apache.atlas.RepositoryMetadataModule.getDeleteHandler(RepositoryMetadataModule.java:114) at org.apache.atlas.RepositoryMetadataModule.configure(RepositoryMetadataModule.java:90) at com.google.inject.AbstractModule.configure(AbstractModule.java:62) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340) at com.google.inject.spi.Elements.getElements(Elements.java:110) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104) at com.google.inject.Guice.createInjector(Guice.java:96) at com.google.inject.Guice.createInjector(Guice.java:73) at com.google.inject.Guice.createInjector(Guice.java:62) at org.apache.atlas.web.listeners.GuiceServletConfig.getInjector(GuiceServletConfig.java:79) at com.google.inject.servlet.GuiceServletContextListener.contextInitialized(GuiceServletContextListener.java:47) at org.apache.atlas.web.listeners.GuiceServletConfig.contextInitialized(GuiceServletConfig.java:148) at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800) at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444) at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791) at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294) at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349) at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342) at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741) at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132) at org.eclipse.jetty.server.Server.start(Server.java:387) at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114) at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61) at org.eclipse.jetty.server.Server.doStart(Server.java:354) at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68) at org.apache.atlas.web.service.EmbeddedServer.start(EmbeddedServer.java:93) at org.apache.atlas.Atlas.main(Atlas.java:113) Caused by: java.lang.IllegalArgumentException: Could not instantiate implementation: com.thinkaurelius.titan.diskstorage.solr.Solr5Index at com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:55) at com.thinkaurelius.titan.diskstorage.Backend.getImplementationClass(Backend.java:421) at com.thinkaurelius.titan.diskstorage.Backend.getIndexes(Backend.java:408) at com.thinkaurelius.titan.diskstorage.Backend.<init>(Backend.java:139) at com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration.getBackend(GraphDatabaseConfiguration.java:1748) at com.thinkaurelius.titan.graphdb.database.StandardTitanGraph.<init>(StandardTitanGraph.java:110) at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:93) at com.thinkaurelius.titan.core.TitanFactory.open(TitanFactory.java:73) at org.apache.atlas.repository.graph.TitanGraphProvider.getGraphInstance(TitanGraphProvider.java:105) at org.apache.atlas.repository.graph.GraphHelper.<clinit>(GraphHelper.java:64) ... 34 more Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at com.thinkaurelius.titan.util.system.ConfigurationUtil.instantiate(ConfigurationUtil.java:44) ... 43 more Caused by: org.apache.solr.common.SolrException: Cannot connect to cluster at os-r6-apathan-atlas-erie-nosec-3.openstacklocal:2181: cluster not found/not ready at org.apache.solr.common.cloud.ZkStateReader.createClusterStateWatchersAndUpdate(ZkStateReader.java:344) at org.apache.solr.client.solrj.impl.CloudSolrClient.connect(CloudSolrClient.java:458) at com.thinkaurelius.titan.diskstorage.solr.Solr5Index.<init>(Solr5Index.java:211) ... 48 more
The value was set to match the value of the ZK connection string in the logsearch solr-env.sh ...
# Set the ZooKeeper connection string if using an external ZooKeeper ensemble # e.g. host1:2181,host2:2181/chroot # Leave empty if not using SolrCloud ZK_HOST="c6401.ambari.apache.org:2181,c6402.ambari.apache.org:2181,c6403.ambari.apache.org:2181/logsearch"
It looks like for atlas.graph.index.search.solr.zookeeper-url it should be ...
c6401.ambari.apache.org:2181/logsearch,c6402.ambari.apache.org:2181/logsearch,c6403.ambari.apache.org:2181/logsearch
Attachments
Attachments
Issue Links
- links to