How many versions of Java do you have? I bet the bin/solr script is using SolrJ (i.e. Java) to communicate with Solr itself (also Java), but for some weird reason they are using incompatible Java versions.
SolrJ uses Java serialization to communicate with Solr, therefore it must use the same Jars and the same Java version in order to succeed at that. Something weird is going on around that area, it seems. Make sure you are using the same Java to start Solr as you are using to run the bin/solr create script, and make sure you are using the same version of Solr, too. Upayavira On Wed, Jul 22, 2015, at 08:42 PM, Aaron Gibbons wrote: > Seems like I'm missing something simple here. SolrCloud installs and > seems > to work fine and the examples work as they should on each individual > machine. What I'm trying to do is setup 4 separate Solr machines (Ubuntu > 14.04) with 3 external zookeepers (the ones currently being used by our > production Solr 5.10 boxes). > > I took Ansible out of the equation and installed Java 9 PPA and Solr 5.21 > manually on fresh machines. I change the solr.in.sh file to point at my > 3 > external zookeepers and make sure everything else is set there according > to > the "Taking Solr to Production" steps. I have uploaded the example > data_driven_schema_configs config files to zookeeper. I tried both the > API > and command line to create a collection with the uploaded configs and get > the same error that I posted previously. > > What additional steps might I be overlooking in setting up 4 separate > Solr > machines for Solr Cloud? > > > On Fri, Jul 17, 2015 at 4:52 PM, Aaron Gibbons < > agibb...@synergydatasystems.com> wrote: > > > I started from scratch with fresh Ubuntu machines and just wiped them and > > tried again. I run my Ansible playbook (below) to install Java 8 (Tried > > Oracle this time and even tried installing it manually) and SolrCloud 5.2.1 > > as described previously. Solr cloud appears to be working fine but I still > > get the same error creating a collection. There is nothing else on these > > machines so I'm not sure where the conflict would come from. I'm using all > > the standard locations and settings just adding our external zookeepers. I > > can't see where Ansible would be causing a conflict here either it's just > > running the commands from the tutorial across the 4 machines. > > > > ... > > > > roles: > > > > - role: 'williamyeh.oracle-java' > > > > tasks: > > > > - name: Download Solr. > > > > get_url: > > > > url: "http://archive.apache.org/dist/lucene/solr/{{ solr_version > > }}/{{ solr_filename }}.tgz" > > > > dest: "{{ solr_workspace }}/{{ solr_filename }}.tgz" > > > > force: no > > > > - name: Extract the installation script. > > > > command: > > > > > tar xzf {{ solr_workspace }}/{{ solr_filename }}.tgz {{ > > solr_filename }}/bin/install_solr_service.sh --strip-components=2 > > > > - name: Run installation Script. > > > > command: "sudo bash ./install_solr_service.sh {{ solr_filename }}.tgz" > > > > - name: Stop solr. > > > > service: name=solr state=stopped > > > > - name: Copy Template init Config file into bin and restart. > > > > template: > > > > src: "solr-init-5.x.j2" > > > > dest: /var/solr/solr.in.sh > > > > - name: Replace Log4j.properties file for production logging settings. > > > > copy: > > > > src: "log4j.properties" > > > > dest: "/var/solr/log4j.properties" > > ... > > > > - name: Add sqljdbc.jar file to solr dist files > > > > copy: > > > > src: "sqljdbc4.jar" > > > > dest: "/opt/solr/dist/sqljdbc4.jar" > > > > - name: Start solr with new config. > > > > service: name=solr state=restarted > > > > > > On Thu, Jul 16, 2015 at 8:48 PM, Erick Erickson <erickerick...@gmail.com> > > wrote: > > > >> It looks at a glance like you're in "Jar hell" and have one or more jar > >> files from "somewhere else" in your classpath, possibly a jar file from > >> an older Solr or one of the libraries. > >> > >> Best, > >> Erick > >> > >> On Thu, Jul 16, 2015 at 6:17 AM, Aaron Gibbons > >> <agibb...@synergydatasystems.com> wrote: > >> > I'm installing SolrCloud 5.2.1 on 4 Ubuntu 14.04 machines with 3 > >> external > >> > zookeepers. I've installed the solr machines using Ansible following > >> the > >> > "Taking Solr to Production" steps. > >> > > >> > 1. Download 5.2.1 > >> > 2. Extract installation script > >> > 3. Run installation script > >> > > >> > Then I stop solr and make my configuration changes to the solr.in.sh > >> file > >> > >> > (adding zookeepers) and log4j.properties (recommended changes). Restart > >> > solr and everything looks good. > >> > > >> > The problem I have is that I can't create a collection. I create the > >> > collection folder in /var/solr/data and tried both the bin script and > >> API > >> > but get the error below. I've tried 5.2.0 also and both Java 7 and 8 > >> with > >> > the same result. > >> > > >> > 50047java.io.InvalidClassException: > >> > org.apache.solr.client.solrj.SolrResponse; local class incompatible: > >> stream > >> > classdesc serialVersionUID = 3123208377723774018, local class > >> > serialVersionUID = > >> 3945300637328478755org.apache.solr.common.SolrException: > >> > java.io.InvalidClassException: > >> org.apache.solr.client.solrj.SolrResponse; > >> > local class incompatible: stream classdesc serialVersionUID = > >> > 3123208377723774018, local class serialVersionUID = 3945300637328478755 > >> at > >> > > >> org.apache.solr.client.solrj.SolrResponse.deserialize(SolrResponse.java:62) > >> > at > >> > > >> org.apache.solr.handler.admin.CollectionsHandler.handleResponse(CollectionsHandler.java:228) > >> > at > >> > > >> org.apache.solr.handler.admin.CollectionsHandler.handleRequestBody(CollectionsHandler.java:168) > >> > at > >> > > >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:143) > >> > at > >> > > >> org.apache.solr.servlet.HttpSolrCall.handleAdminRequest(HttpSolrCall.java:646) > >> > at org.apache.solr.servlet.HttpSolrCall.call(HttpSolrCall.java:417) at > >> > > >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:227) > >> > at > >> > > >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:196) > >> > at > >> > > >> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) > >> > at > >> > > >> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) > >> > at > >> > > >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > >> > at > >> > > >> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) > >> > at > >> > > >> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) > >> > at > >> > > >> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) > >> > at > >> > > >> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) > >> > at > >> > > >> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) > >> > at > >> > > >> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) > >> > at > >> > > >> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > >> > at > >> > > >> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) > >> > at > >> > > >> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) > >> > at > >> > > >> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > >> > at org.eclipse.jetty.server.Server.handle(Server.java:497) at > >> > org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at > >> > > >> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257) > >> > at > >> > > >> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) > >> > at > >> > > >> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) > >> > at > >> > > >> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) > >> > at java.lang.Thread.run(Thread.java:745) Caused by: > >> > java.io.InvalidClassException: > >> org.apache.solr.client.solrj.SolrResponse; > >> > local class incompatible: stream classdesc serialVersionUID = > >> > 3123208377723774018, local class serialVersionUID = 3945300637328478755 > >> at > >> > java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:617) at > >> > java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622) > >> at > >> > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) at > >> > java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1622) > >> at > >> > java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517) at > >> > > >> java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771) > >> > at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350) at > >> > java.io.ObjectInputStream.readObject(ObjectInputStream.java:370) at > >> > > >> org.apache.solr.client.solrj.SolrResponse.deserialize(SolrResponse.java:60) > >> > ... 27 more 500 > >> > > > >