Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
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.