You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-user@lucene.apache.org by svante karlsson <sa...@csi.se> on 2014/01/22 00:20:43 UTC

Trying to config solr cloud

I've been playing around with solr 4.6.0 for some weeks and I'm trying to
get a solrcloud configuration running.

I've installed two physical machines and I'm trying to set up 4 shards on
each.

I installled a zookeeper on each host as well

I uploaded a config to zookeeper with
/opt/solr-4.6.0/example/cloud-scripts/zkcli.sh -cmd upconfig -zkhost
192.168.0.93:2181 -confdir /opt/solr/om5/conf/ -confname om5

The /opt/solr/om5 was where I kept my normal solr and I'm trying to reuse
that config.


now I start two hosts (one on each server)
java -DzkHost=192.168.0.93:2181,192.168.0.94:2181 -Dhost=192.168.0.93 -jar
start.jar
java -DzkHost=192.168.0.93:2181,192.168.0.94:2181 -Dhost=192.168.0.94 -jar
start.jar

and finally I'll run
curl '
http://192.168.0.93:8983/solr/admin/collections?action=CREATE&name=om5&numShards=8&replicationFactor=1&maxShardsPerNode=4
'

This gets me 8 shard in the web gui
http://192.168.0.94:8983/solr/#/~cloud

Now I add documents to this and that seems to work. I pushed 97 million
docs during the night. ( each shard reports a 8th of the documents )

But all questions returns http 500 in variants of the below result. I get
correct data in the body but always an error trace after that...

http://192.168.0.93:8983/solr/om5/select?q=*:*&rows=1&fl=id

returns

<response>
<lst name="responseHeader">
<int name="status">500</int>
<int name="QTime">32</int>
</lst>
<result name="response" numFound="97856652" start="0" maxScore="1.0">
<doc>
<str name="id">b1e5865c-3b01-0000-0000-0471b12d16ac</str>
</doc>
</result>
<lst name="error">
<str name="trace">
java.lang.NullPointerException at
org.apache.solr.common.util.NamedList.nameValueMapToList(NamedList.java:114)
at org.apache.solr.common.util.NamedList.<init>(NamedList.java:80) at
org.apache.solr.handler.component.TermVectorComponent.finishStage(TermVectorComponent.java:453)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:317)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1859) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:710)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:368) at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:724)
</str>
<int name="code">500</int>
</lst>
</response>

So I must be doing something wrong....

my schema.xml looks like

<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.1">
  <types>
  <fieldType name="uuid" class="solr.UUIDField" indexed="true" />
  <fieldType name="string" class="solr.StrField" sortMissingLast="true"
omitNorms="true"/>
   <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
   <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6"
positionIncrementGap="0"/>
   <fieldType name="int" class="solr.TrieIntField" precisionStep="0"
positionIncrementGap="0"/>
   <fieldType name="long" class="solr.TrieLongField" precisionStep="0"
positionIncrementGap="0"/>
   </types>
<fields>
<field name="_version_" type="long" indexed="true" stored="true"
multiValued="false"/>
<field name="id" type="string" indexed="true" stored="true" required="true"
multiValued="false" />
<field name="name" type="int" indexed="true" stored="true"/>
<field name="fieldA" type="string" indexed="true" stored="true"/>
<field name="fieldB" type="string" indexed="true" stored="true"/>
<field name="fieldC" type="int" indexed="true" stored="true"/>
<field name="fieldD" type="int" indexed="true" stored="true"/>
<field name="fieldE" type="int" indexed="true" stored="true"/>
<field name="fieldF" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldG" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldH" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldI" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldJ" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldK" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldL" type="string" indexed="true" stored="true"/>
<field name="fieldM" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldN" type="string" indexed="true" stored="true"/>
<field name="fieldO" type="string" indexed="false" stored="true"
required="false" multiValued="false" />
<field name="ts"  type="long" indexed="true" stored="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<solrQueryParser defaultOperator="OR"/>
</schema>



Any suggestions?


best regards
svante

Re: Trying to config solr cloud

Posted by svante karlsson <sa...@csi.se>.
Thank you very much!!

Just to recap.

My solrconfig.xml had the tvComponent and when I removed that it works as
expected although not as fast as I had hoped. I'll do some more reading on
best practices and probably ask a new question later...



 <requestHandler name="/select
......
<arr name="last-components">
      <str>tvComponent</str>
    </arr>
....

- Svante







2014/1/22 Mark Miller <ma...@gmail.com>

> If that is the case, we could probably use a JIRA issue Svante. The
> component should really give a nice user error in this scenerio.
>
> - Mark
>
>
>
> On Jan 21, 2014, 8:00:55 PM, Tim Potter <ti...@lucidworks.com>
> wrote: Hi Svante,
>
> It seems like the TermVectorComponent is in the search component chain of
> your /select search handler but you haven't indexed docs with term vectors
> enabled (at least from what's in the schema you provided). Admittedly, the
> NamedList code could be a little more paranoid but I think the key is to
> check the component chain of your /select handler to make sure tvComponent
> isn't included (or re-index with term vectors enabled).
>
> Cheers,
>
> Timothy Potter
> Sr. Software Engineer, LucidWorks
> www.lucidworks.com
>
> ________________________________________
> From: saka.csi.se@gmail.com <sa...@gmail.com> on behalf of svante
> karlsson <sa...@csi.se>
> Sent: Tuesday, January 21, 2014 4:20 PM
> To: solr-user@lucene.apache.org
> Subject: Trying to config solr cloud
>
> I've been playing around with solr 4.6.0 for some weeks and I'm trying to
> get a solrcloud configuration running.
>
> I've installed two physical machines and I'm trying to set up 4 shards on
> each.
>
> I installled a zookeeper on each host as well
>
> I uploaded a config to zookeeper with
> /opt/solr-4.6.0/example/cloud-scripts/zkcli.sh -cmd upconfig -zkhost
> 192.168.0.93:2181 -confdir /opt/solr/om5/conf/ -confname om5
>
> The /opt/solr/om5 was where I kept my normal solr and I'm trying to reuse
> that config.
>
>
> now I start two hosts (one on each server)
> java -DzkHost=192.168.0.93:2181,192.168.0.94:2181 -Dhost=192.168.0.93 -jar
> start.jar
> java -DzkHost=192.168.0.93:2181,192.168.0.94:2181 -Dhost=192.168.0.94 -jar
> start.jar
>
> and finally I'll run
> curl '
>
> http://192.168.0.93:8983/solr/admin/collections?action=CREATE&name=om5&numShards=8&replicationFactor=1&maxShardsPerNode=4
> '
>
> This gets me 8 shard in the web gui
> http://192.168.0.94:8983/solr/#/~cloud
>
> Now I add documents to this and that seems to work. I pushed 97 million
> docs during the night. ( each shard reports a 8th of the documents )
>
> But all questions returns http 500 in variants of the below result. I get
> correct data in the body but always an error trace after that...
>
> http://192.168.0.93:8983/solr/om5/select?q=*:*&rows=1&fl=id
>
> returns
>
> <response>
> <lst name="responseHeader">
> <int name="status">500</int>
> <int name="QTime">32</int>
> </lst>
> <result name="response" numFound="97856652" start="0" maxScore="1.0">
> <doc>
> <str name="id">b1e5865c-3b01-0000-0000-0471b12d16ac</str>
> </doc>
> </result>
> <lst name="error">
> <str name="trace">
> java.lang.NullPointerException at
>
> org.apache.solr.common.util.NamedList.nameValueMapToList(NamedList.java:114)
> at org.apache.solr.common.util.NamedList.<init>(NamedList.java:80) at
>
> org.apache.solr.handler.component.TermVectorComponent.finishStage(TermVectorComponent.java:453)
> at
>
> org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:317)
> at
>
> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
> at org.apache.solr.core.SolrCore.execute(SolrCore.java:1859) at
>
> org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:710)
> at
>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)
> at
>
> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197)
> at
>
> org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
> at
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
> at
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
> at
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
> at
>
> org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
> at
>
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
> at
>
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
> at
>
> org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
> at
>
> org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
> at
>
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
> at org.eclipse.jetty.server.Server.handle(Server.java:368) at
>
> org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
> at
>
> org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
> at
>
> org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942)
> at
>
> org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at
> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at
>
> org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
> at
>
> org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
> at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
> at
>
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
> at java.lang.Thread.run(Thread.java:724)
> </str>
> <int name="code">500</int>
> </lst>
> </response>
>
> So I must be doing something wrong....
>
> my schema.xml looks like
>
> <?xml version="1.0" encoding="UTF-8" ?>
> <schema name="example" version="1.1">
> <types>
> <fieldType name="uuid" class="solr.UUIDField" indexed="true" />
> <fieldType name="string" class="solr.StrField" sortMissingLast="true"
> omitNorms="true"/>
> <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
> <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6"
> positionIncrementGap="0"/>
> <fieldType name="int" class="solr.TrieIntField" precisionStep="0"
> positionIncrementGap="0"/>
> <fieldType name="long" class="solr.TrieLongField" precisionStep="0"
> positionIncrementGap="0"/>
> </types>
> <fields>
> <field name="_version_" type="long" indexed="true" stored="true"
> multiValued="false"/>
> <field name="id" type="string" indexed="true" stored="true" required="true"
> multiValued="false" />
> <field name="name" type="int" indexed="true" stored="true"/>
> <field name="fieldA" type="string" indexed="true" stored="true"/>
> <field name="fieldB" type="string" indexed="true" stored="true"/>
> <field name="fieldC" type="int" indexed="true" stored="true"/>
> <field name="fieldD" type="int" indexed="true" stored="true"/>
> <field name="fieldE" type="int" indexed="true" stored="true"/>
> <field name="fieldF" type="string" indexed="true" stored="true"
> multiValued="true"/>
> <field name="fieldG" type="string" indexed="true" stored="true"
> multiValued="true"/>
> <field name="fieldH" type="string" indexed="true" stored="true"
> multiValued="true"/>
> <field name="fieldI" type="string" indexed="true" stored="true"
> multiValued="true"/>
> <field name="fieldJ" type="string" indexed="true" stored="true"
> multiValued="true"/>
> <field name="fieldK" type="string" indexed="true" stored="true"
> multiValued="true"/>
> <field name="fieldL" type="string" indexed="true" stored="true"/>
> <field name="fieldM" type="string" indexed="true" stored="true"
> multiValued="true"/>
> <field name="fieldN" type="string" indexed="true" stored="true"/>
> <field name="fieldO" type="string" indexed="false" stored="true"
> required="false" multiValued="false" />
> <field name="ts" type="long" indexed="true" stored="true"/>
> </fields>
> <uniqueKey>id</uniqueKey>
> <solrQueryParser defaultOperator="OR"/>
> </schema>
>
>
>
> Any suggestions?
>
>
> best regards
> svante
>

Re: Trying to config solr cloud

Posted by Mark Miller <ma...@gmail.com>.
If that is the case, we could probably use a JIRA issue Svante. The component should really give a nice user error in this scenerio.

- Mark 



On Jan 21, 2014, 8:00:55 PM, Tim Potter <ti...@lucidworks.com> wrote: Hi Svante,

It seems like the TermVectorComponent is in the search component chain of your /select search handler but you haven't indexed docs with term vectors enabled (at least from what's in the schema you provided). Admittedly, the NamedList code could be a little more paranoid but I think the key is to check the component chain of your /select handler to make sure tvComponent isn't included (or re-index with term vectors enabled).

Cheers,

Timothy Potter
Sr. Software Engineer, LucidWorks
www.lucidworks.com

________________________________________
From: saka.csi.se@gmail.com <sa...@gmail.com> on behalf of svante karlsson <sa...@csi.se>
Sent: Tuesday, January 21, 2014 4:20 PM
To: solr-user@lucene.apache.org
Subject: Trying to config solr cloud

I've been playing around with solr 4.6.0 for some weeks and I'm trying to
get a solrcloud configuration running.

I've installed two physical machines and I'm trying to set up 4 shards on
each.

I installled a zookeeper on each host as well

I uploaded a config to zookeeper with
/opt/solr-4.6.0/example/cloud-scripts/zkcli.sh -cmd upconfig -zkhost
192.168.0.93:2181 -confdir /opt/solr/om5/conf/ -confname om5

The /opt/solr/om5 was where I kept my normal solr and I'm trying to reuse
that config.


now I start two hosts (one on each server)
java -DzkHost=192.168.0.93:2181,192.168.0.94:2181 -Dhost=192.168.0.93 -jar
start.jar
java -DzkHost=192.168.0.93:2181,192.168.0.94:2181 -Dhost=192.168.0.94 -jar
start.jar

and finally I'll run
curl '
http://192.168.0.93:8983/solr/admin/collections?action=CREATE&name=om5&numShards=8&replicationFactor=1&maxShardsPerNode=4
'

This gets me 8 shard in the web gui
http://192.168.0.94:8983/solr/#/~cloud

Now I add documents to this and that seems to work. I pushed 97 million
docs during the night. ( each shard reports a 8th of the documents )

But all questions returns http 500 in variants of the below result. I get
correct data in the body but always an error trace after that...

http://192.168.0.93:8983/solr/om5/select?q=*:*&rows=1&fl=id

returns

<response>
<lst name="responseHeader">
<int name="status">500</int>
<int name="QTime">32</int>
</lst>
<result name="response" numFound="97856652" start="0" maxScore="1.0">
<doc>
<str name="id">b1e5865c-3b01-0000-0000-0471b12d16ac</str>
</doc>
</result>
<lst name="error">
<str name="trace">
java.lang.NullPointerException at
org.apache.solr.common.util.NamedList.nameValueMapToList(NamedList.java:114)
at org.apache.solr.common.util.NamedList.<init>(NamedList.java:80) at
org.apache.solr.handler.component.TermVectorComponent.finishStage(TermVectorComponent.java:453)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:317)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1859) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:710)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:368) at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:724)
</str>
<int name="code">500</int>
</lst>
</response>

So I must be doing something wrong....

my schema.xml looks like

<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.1">
<types>
<fieldType name="uuid" class="solr.UUIDField" indexed="true" />
<fieldType name="string" class="solr.StrField" sortMissingLast="true"
omitNorms="true"/>
<fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
<fieldType name="tdate" class="solr.TrieDateField" precisionStep="6"
positionIncrementGap="0"/>
<fieldType name="int" class="solr.TrieIntField" precisionStep="0"
positionIncrementGap="0"/>
<fieldType name="long" class="solr.TrieLongField" precisionStep="0"
positionIncrementGap="0"/>
</types>
<fields>
<field name="_version_" type="long" indexed="true" stored="true"
multiValued="false"/>
<field name="id" type="string" indexed="true" stored="true" required="true"
multiValued="false" />
<field name="name" type="int" indexed="true" stored="true"/>
<field name="fieldA" type="string" indexed="true" stored="true"/>
<field name="fieldB" type="string" indexed="true" stored="true"/>
<field name="fieldC" type="int" indexed="true" stored="true"/>
<field name="fieldD" type="int" indexed="true" stored="true"/>
<field name="fieldE" type="int" indexed="true" stored="true"/>
<field name="fieldF" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldG" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldH" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldI" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldJ" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldK" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldL" type="string" indexed="true" stored="true"/>
<field name="fieldM" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldN" type="string" indexed="true" stored="true"/>
<field name="fieldO" type="string" indexed="false" stored="true"
required="false" multiValued="false" />
<field name="ts" type="long" indexed="true" stored="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<solrQueryParser defaultOperator="OR"/>
</schema>



Any suggestions?


best regards
svante

RE: Trying to config solr cloud

Posted by Tim Potter <ti...@lucidworks.com>.
Hi Svante,

It seems like the TermVectorComponent is in the search component chain of your /select search handler but you haven't indexed docs with term vectors enabled (at least from what's in the schema you provided). Admittedly, the NamedList code could be a little more paranoid but I think the key is to check the component chain of your /select handler to make sure tvComponent isn't included (or re-index with term vectors enabled).

Cheers,

Timothy Potter
Sr. Software Engineer, LucidWorks
www.lucidworks.com

________________________________________
From: saka.csi.se@gmail.com <sa...@gmail.com> on behalf of svante karlsson <sa...@csi.se>
Sent: Tuesday, January 21, 2014 4:20 PM
To: solr-user@lucene.apache.org
Subject: Trying to config solr cloud

I've been playing around with solr 4.6.0 for some weeks and I'm trying to
get a solrcloud configuration running.

I've installed two physical machines and I'm trying to set up 4 shards on
each.

I installled a zookeeper on each host as well

I uploaded a config to zookeeper with
/opt/solr-4.6.0/example/cloud-scripts/zkcli.sh -cmd upconfig -zkhost
192.168.0.93:2181 -confdir /opt/solr/om5/conf/ -confname om5

The /opt/solr/om5 was where I kept my normal solr and I'm trying to reuse
that config.


now I start two hosts (one on each server)
java -DzkHost=192.168.0.93:2181,192.168.0.94:2181 -Dhost=192.168.0.93 -jar
start.jar
java -DzkHost=192.168.0.93:2181,192.168.0.94:2181 -Dhost=192.168.0.94 -jar
start.jar

and finally I'll run
curl '
http://192.168.0.93:8983/solr/admin/collections?action=CREATE&name=om5&numShards=8&replicationFactor=1&maxShardsPerNode=4
'

This gets me 8 shard in the web gui
http://192.168.0.94:8983/solr/#/~cloud

Now I add documents to this and that seems to work. I pushed 97 million
docs during the night. ( each shard reports a 8th of the documents )

But all questions returns http 500 in variants of the below result. I get
correct data in the body but always an error trace after that...

http://192.168.0.93:8983/solr/om5/select?q=*:*&rows=1&fl=id

returns

<response>
<lst name="responseHeader">
<int name="status">500</int>
<int name="QTime">32</int>
</lst>
<result name="response" numFound="97856652" start="0" maxScore="1.0">
<doc>
<str name="id">b1e5865c-3b01-0000-0000-0471b12d16ac</str>
</doc>
</result>
<lst name="error">
<str name="trace">
java.lang.NullPointerException at
org.apache.solr.common.util.NamedList.nameValueMapToList(NamedList.java:114)
at org.apache.solr.common.util.NamedList.<init>(NamedList.java:80) at
org.apache.solr.handler.component.TermVectorComponent.finishStage(TermVectorComponent.java:453)
at
org.apache.solr.handler.component.SearchHandler.handleRequestBody(SearchHandler.java:317)
at
org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.core.SolrCore.execute(SolrCore.java:1859) at
org.apache.solr.servlet.SolrDispatchFilter.execute(SolrDispatchFilter.java:710)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:413)
at
org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:197)
at
org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419)
at
org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at
org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:557)
at
org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at
org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075)
at
org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384)
at
org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at
org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009)
at
org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at
org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:255)
at
org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154)
at
org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:368) at
org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at
org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53)
at
org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942)
at
org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) at
org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) at
org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72)
at
org.eclipse.jetty.server.bio.SocketConnector$ConnectorEndPoint.run(SocketConnector.java:264)
at
org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at
org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:724)
</str>
<int name="code">500</int>
</lst>
</response>

So I must be doing something wrong....

my schema.xml looks like

<?xml version="1.0" encoding="UTF-8" ?>
<schema name="example" version="1.1">
  <types>
  <fieldType name="uuid" class="solr.UUIDField" indexed="true" />
  <fieldType name="string" class="solr.StrField" sortMissingLast="true"
omitNorms="true"/>
   <fieldType name="boolean" class="solr.BoolField" sortMissingLast="true"/>
   <fieldType name="tdate" class="solr.TrieDateField" precisionStep="6"
positionIncrementGap="0"/>
   <fieldType name="int" class="solr.TrieIntField" precisionStep="0"
positionIncrementGap="0"/>
   <fieldType name="long" class="solr.TrieLongField" precisionStep="0"
positionIncrementGap="0"/>
   </types>
<fields>
<field name="_version_" type="long" indexed="true" stored="true"
multiValued="false"/>
<field name="id" type="string" indexed="true" stored="true" required="true"
multiValued="false" />
<field name="name" type="int" indexed="true" stored="true"/>
<field name="fieldA" type="string" indexed="true" stored="true"/>
<field name="fieldB" type="string" indexed="true" stored="true"/>
<field name="fieldC" type="int" indexed="true" stored="true"/>
<field name="fieldD" type="int" indexed="true" stored="true"/>
<field name="fieldE" type="int" indexed="true" stored="true"/>
<field name="fieldF" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldG" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldH" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldI" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldJ" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldK" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldL" type="string" indexed="true" stored="true"/>
<field name="fieldM" type="string" indexed="true" stored="true"
multiValued="true"/>
<field name="fieldN" type="string" indexed="true" stored="true"/>
<field name="fieldO" type="string" indexed="false" stored="true"
required="false" multiValued="false" />
<field name="ts"  type="long" indexed="true" stored="true"/>
</fields>
<uniqueKey>id</uniqueKey>
<solrQueryParser defaultOperator="OR"/>
</schema>



Any suggestions?


best regards
svante