You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Tom Beerbower (JIRA)" <ji...@apache.org> on 2016/05/11 20:31:12 UTC

[jira] [Created] (AMBARI-16464) Atlas Integration : Atlas fails to come up with solr as indexing search when the zookeeper quorum has more than one host

Tom Beerbower created AMBARI-16464:
--------------------------------------

             Summary: Atlas Integration : Atlas fails to come up with solr as indexing search when the zookeeper quorum has more than one host
                 Key: AMBARI-16464
                 URL: https://issues.apache.org/jira/browse/AMBARI-16464
             Project: Ambari
          Issue Type: Bug
            Reporter: Tom Beerbower
            Assignee: Tom Beerbower


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
{noformat}
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)
{noformat}



The exception because of this
{noformat}
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
{noformat}


The value was set to match the value of the ZK connection string in the logsearch solr-env.sh  ...

{code}
# 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"
{code}

It looks like for {{atlas.graph.index.search.solr.zookeeper-url}} it should be ...
{code}
c6401.ambari.apache.org:2181/logsearch,c6402.ambari.apache.org:2181/logsearch,c6403.ambari.apache.org:2181/logsearch
{code}







--
This message was sent by Atlassian JIRA
(v6.3.4#6332)