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)