I'm trying to add the Carrot Clustering plugin to Solr(v. 4.10.3) in Datastax(v. 4.7.3-1). When I'm following these instructions and put the JAR's in /usr/share/dse/solr/lib directory, I do see the libraries in java.class.path but it doesn't show up in plugins/other. When I'm using the library (although I can't see it) I'm getting this error:
ERROR [http-10.10.10.10-8983-2] 2016-05-17 06:19:49,955 SolrException.java:150 - org.apache.solr.common.SolrException: Error opening clustering/carrot2/default-attributes.xml
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:920)
at com.datastax.bdp.search.solr.core.CassandraCoreContainer.doReload(CassandraCoreContainer.java:904)
at com.datastax.bdp.search.solr.core.CassandraCoreContainer.create(CassandraCoreContainer.java:324)
at com.datastax.bdp.search.solr.core.SolrCoreResourceManager.reloadCore(SolrCoreResourceManager.java:434)
at com.datastax.bdp.search.solr.handler.admin.CassandraCoreAdminHandler.handleReloadAction(CassandraCoreAdminHandler.java:188)
at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestInternal(CoreAdminHandler.java:225)
at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:188)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:163)
at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:736)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:258)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:207)
at com.datastax.bdp.search.solr.servlet.CassandraDispatchFilter.doFilter(CassandraDispatchFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.datastax.bdp.cassandra.audit.SolrHttpAuditLogFilter.doFilter(SolrHttpAuditLogFilter.java:213)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.datastax.bdp.search.solr.auth.CassandraAuthorizationFilter.doFilter(CassandraAuthorizationFilter.java:89)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.datastax.bdp.search.solr.RepeatablePOSTQueryFilter.doFilter(RepeatablePOSTQueryFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at com.datastax.bdp.search.solr.auth.DseAuthenticationFilter.doFilter(DseAuthenticationFilter.java:91)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:612)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:503)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.RuntimeException: Error opening clustering/carrot2/default-attributes.xml
at com.datastax.bdp.search.solr.core.CassandraResourceLoader.getResource(CassandraResourceLoader.java:42)
at com.datastax.bdp.search.solr.core.CassandraResourceLoader.openResource(CassandraResourceLoader.java:57)
at org.apache.solr.handler.clustering.carrot2.SolrResourceLocator.getAll(SolrResourceLocator.java:66)
at org.carrot2.util.resource.ResourceLookup.getAll(ResourceLookup.java:114)
at org.apache.solr.handler.clustering.carrot2.CarrotClusteringEngine.init(CarrotClusteringEngine.java:145)
at org.apache.solr.handler.clustering.ClusteringComponent.inform(ClusteringComponent.java:117)
at org.apache.solr.core.SolrResourceLoader.inform(SolrResourceLoader.java:655)
at org.apache.solr.core.SolrCore.<init>(SolrCore.java:903)
... 35 more
Caused by: org.apache.solr.common.SolrException: No resource clustering/carrot2/default-attributes.xml for core solr_core.table, did you miss to upload it?
at com.datastax.bdp.search.solr.core.SolrCoreResourceManager.getResource(SolrCoreResourceManager.java:811)
at com.datastax.bdp.search.solr.core.SolrCoreResourceManager.readResource(SolrCoreResourceManager.java:183)
at com.datastax.bdp.search.solr.core.CassandraResourceLoader.getResource(CassandraResourceLoader.java:38)
... 42 more
What do I miss?
Carrot is telling you it needs to read that resource. You need to upload it to DSE Search so it can be picked up. Upload adjusting this to your convenience:
curl -s --data-binary @<xmlFileHere> -H 'Content-type:text/xml; charset=utf-8' http://<hostHere>:8983/solr/resource/<coreNameHere>/clustering/carrot2/default-attributes.xml
Make sure you upload to DSE Search all resources that are needed. DSE Search does not read them from the file system, you have to upload them instead.