Expand my Community achievements bar.

SOLVED

Issue connecting to Zookeeper while establishing connection to Solr server.

Avatar

Community Advisor

Hi @All,

I am trying to establish a connection with my Solr server zookeeper. I have taken reference from https://lucene.apache.org/solr/7_5_0/solr-solrj/org/apache/solr/client/solrj/impl/CloudSolrClient.Bu...

I am using following line of code snippet:

final List<String> zkServers = new ArrayList<String>();
zkServers.add("zookeeper1:2181"); zkServers.add("zookeeper2:2182"); zkServers.add("zookeeper3:2183");
final SolrClient client = new CloudSolrClient.Builder(zkServers, Optional.of("/solr")).build();

I tried using localhost instead of zookeeper1,2 and 3. As all three are in my same PC.

But I get following exception every time:

java.lang.NoClassDefFoundError: org/apache/zookeeper/KeeperException
	at org.apache.solr.client.solrj.impl.CloudSolrClient$Builder.build(CloudSolrClient.java:460)
	at com.bdb.aem.core.servlets.SolrConnection.getConnection(SolrConnection.java:36)
	at com.bdb.aem.core.servlets.SolrConnection.doGet(SolrConnection.java:29)
	at org.apache.sling.api.servlets.SlingSafeMethodsServlet.mayService(SlingSafeMethodsServlet.java:266)
	at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:342)
	at org.apache.sling.api.servlets.SlingSafeMethodsServlet.service(SlingSafeMethodsServlet.java:374)


When I debug CloudSolrClient.java:460 then I see it shows following value in Debug mode:

zk.PNG


Let me know where I am going wrong?

Thanks



1 Accepted Solution

Avatar

Correct answer by
Employee Advisor

What bundle in your AEM does provide you the org.apache.zookeeper packages? You can check on localhost:4502/system/console/depfinder, and by default AEM does not provide bundles with that code, you need to deploy it your instances yourself.

View solution in original post

2 Replies

Avatar

Correct answer by
Employee Advisor

What bundle in your AEM does provide you the org.apache.zookeeper packages? You can check on localhost:4502/system/console/depfinder, and by default AEM does not provide bundles with that code, you need to deploy it your instances yourself.

Avatar

Community Advisor

Thanks Jorg for the reply.
I have resolved it now. I converted the JAR to bundle and deployed it as part of embed code in ui.apps POM.XML and issue got resolved.