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 Mark Olsen <mo...@experts-exchange.com> on 2014/05/14 00:39:32 UTC
Error when creating collection
Solr version: 4.2.1
I'm creating a collection via Java using this function call:
String collection = "profile-2";
CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create();
createRequest.setCoreName(collection);
createRequest.setCollection(collection);
createRequest.setInstanceDir(collection);
createRequest.setNumShards(1);
createRequest.process(server);
It is timing out with this exception (from the solr.out logs):
SEVERE: org.apache.solr.common.SolrException: Error CREATEing SolrCore 'profile-2': Could not get shard_id for core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2
at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:483)
at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:140)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:591)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:192)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:141)
...
Caused by: org.apache.solr.common.SolrException: Could not get shard_id for core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2
at org.apache.solr.cloud.ZkController.doGetShardIdProcess(ZkController.java:1221)
at org.apache.solr.cloud.ZkController.preRegister(ZkController.java:1290)
at org.apache.solr.core.CoreContainer.registerCore(CoreContainer.java:861)
In a "development" environment the zookeeper/solr instances are running with elevated permissions and this function worked without error.
In a "test" environment (which matches the "production" environment) the permissions are more restricted. I made sure the group/owner of the /usr/local/solr directory are set up to be the correct user.
Any insight into potential file permissions that I may be overlooking?
Thank you,
Mark
Re: Error when creating collection
Posted by Mark Olsen <mo...@experts-exchange.com>.
Looking on the logs of the other server, I see this:
SEVERE: org.apache.solr.common.SolrException: I was asked to wait on state recovering for 192.168.1.155:8983_solr but I still do not see the requested state. I see state: active live:true
at org.apache.solr.handler.admin.CoreAdminHandler.handleWaitForStateAction(CoreAdminHandler.java:890)
at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:186)
at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:591)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:192)
at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:141)
----- Original Message -----
From: "Mark Olsen" <mo...@experts-exchange.com>
To: solr-user@lucene.apache.org
Sent: Monday, May 19, 2014 3:54:30 PM
Subject: Re: Error when creating collection
Shawn,
I set a shard ID however am still getting the same issue. The logs on the solr server are reporting the following:
The request is being performed on 192.168.1.155 and it is timing out when contacting another server in the zookeeper group (192.168.1.152). There are no firewall rules in place and I am able to lynx from 192.168.1.155 to 192.168.1.152 on that port.
SEVERE: Error while trying to recover. core=collection1:org.apache.solr.client.solrj.SolrServerException: Timeout occured while waiting response from server at: http://192.168.1.152:8983/solr
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:412)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:181)
at org.apache.solr.cloud.RecoveryStrategy.sendPrepRecoveryCmd(RecoveryStrategy.java:202)
at org.apache.solr.cloud.RecoveryStrategy.doRecovery(RecoveryStrategy.java:346)
at org.apache.solr.cloud.RecoveryStrategy.run(RecoveryStrategy.java:223)
Caused by: java.net.SocketTimeoutException: Read timed out
Thanks,
Mark
----- Original Message -----
From: "Shawn Heisey" <so...@elyograg.org>
To: solr-user@lucene.apache.org
Sent: Wednesday, May 14, 2014 12:43:00 PM
Subject: Re: Error when creating collection
On 5/13/2014 4:39 PM, Mark Olsen wrote:
> I'm creating a collection via Java using this function call:
>
> String collection = "profile-2";
> CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create();
> createRequest.setCoreName(collection);
> createRequest.setCollection(collection);
> createRequest.setInstanceDir(collection);
> createRequest.setNumShards(1);
> createRequest.process(server);
>
> It is timing out with this exception (from the solr.out logs):
>
> SEVERE: org.apache.solr.common.SolrException: Error CREATEing SolrCore 'profile-2': Could not get shard_id for core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2
> at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:483)
> at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:140)
> at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
> at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:591)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:192)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:141)
> ...
> Caused by: org.apache.solr.common.SolrException: Could not get shard_id for core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2
> at org.apache.solr.cloud.ZkController.doGetShardIdProcess(ZkController.java:1221)
> at org.apache.solr.cloud.ZkController.preRegister(ZkController.java:1290)
> at org.apache.solr.core.CoreContainer.registerCore(CoreContainer.java:861)
>
> In a "development" environment the zookeeper/solr instances are running with elevated permissions and this function worked without error.
> In a "test" environment (which matches the "production" environment) the permissions are more restricted. I made sure the group/owner of the /usr/local/solr directory are set up to be the correct user.
This is happening because you never set the shard ID. See the "Caused
by" message above. There is a setShardID method on the class that you
are using. I believe this would typically get something like "shard1"
as a value.
The user that runs Solr must typically have write permissions to the
solr home and all of its descendants.
Note that with the CoreAdminRequest class, you are not creating a
collection. You are creating a core. If you want to create an entire
collection (which will typically create at least two cores on different
Solr instances), you need to use CollectionAdminRequest instead.
https://lucene.apache.org/solr/4_8_0/solr-solrj/org/apache/solr/client/solrj/request/CollectionAdminRequest.Create.html
http://wiki.apache.org/solr/SolrTerminology
Thanks,
Shawn
Re: Error when creating collection
Posted by Mark Olsen <mo...@experts-exchange.com>.
Shawn,
I set a shard ID however am still getting the same issue. The logs on the solr server are reporting the following:
The request is being performed on 192.168.1.155 and it is timing out when contacting another server in the zookeeper group (192.168.1.152). There are no firewall rules in place and I am able to lynx from 192.168.1.155 to 192.168.1.152 on that port.
SEVERE: Error while trying to recover. core=collection1:org.apache.solr.client.solrj.SolrServerException: Timeout occured while waiting response from server at: http://192.168.1.152:8983/solr
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:412)
at org.apache.solr.client.solrj.impl.HttpSolrServer.request(HttpSolrServer.java:181)
at org.apache.solr.cloud.RecoveryStrategy.sendPrepRecoveryCmd(RecoveryStrategy.java:202)
at org.apache.solr.cloud.RecoveryStrategy.doRecovery(RecoveryStrategy.java:346)
at org.apache.solr.cloud.RecoveryStrategy.run(RecoveryStrategy.java:223)
Caused by: java.net.SocketTimeoutException: Read timed out
Thanks,
Mark
----- Original Message -----
From: "Shawn Heisey" <so...@elyograg.org>
To: solr-user@lucene.apache.org
Sent: Wednesday, May 14, 2014 12:43:00 PM
Subject: Re: Error when creating collection
On 5/13/2014 4:39 PM, Mark Olsen wrote:
> I'm creating a collection via Java using this function call:
>
> String collection = "profile-2";
> CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create();
> createRequest.setCoreName(collection);
> createRequest.setCollection(collection);
> createRequest.setInstanceDir(collection);
> createRequest.setNumShards(1);
> createRequest.process(server);
>
> It is timing out with this exception (from the solr.out logs):
>
> SEVERE: org.apache.solr.common.SolrException: Error CREATEing SolrCore 'profile-2': Could not get shard_id for core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2
> at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:483)
> at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:140)
> at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
> at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:591)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:192)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:141)
> ...
> Caused by: org.apache.solr.common.SolrException: Could not get shard_id for core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2
> at org.apache.solr.cloud.ZkController.doGetShardIdProcess(ZkController.java:1221)
> at org.apache.solr.cloud.ZkController.preRegister(ZkController.java:1290)
> at org.apache.solr.core.CoreContainer.registerCore(CoreContainer.java:861)
>
> In a "development" environment the zookeeper/solr instances are running with elevated permissions and this function worked without error.
> In a "test" environment (which matches the "production" environment) the permissions are more restricted. I made sure the group/owner of the /usr/local/solr directory are set up to be the correct user.
This is happening because you never set the shard ID. See the "Caused
by" message above. There is a setShardID method on the class that you
are using. I believe this would typically get something like "shard1"
as a value.
The user that runs Solr must typically have write permissions to the
solr home and all of its descendants.
Note that with the CoreAdminRequest class, you are not creating a
collection. You are creating a core. If you want to create an entire
collection (which will typically create at least two cores on different
Solr instances), you need to use CollectionAdminRequest instead.
https://lucene.apache.org/solr/4_8_0/solr-solrj/org/apache/solr/client/solrj/request/CollectionAdminRequest.Create.html
http://wiki.apache.org/solr/SolrTerminology
Thanks,
Shawn
Re: Error when creating collection
Posted by Shawn Heisey <so...@elyograg.org>.
On 5/13/2014 4:39 PM, Mark Olsen wrote:
> I'm creating a collection via Java using this function call:
>
> String collection = "profile-2";
> CoreAdminRequest.Create createRequest = new CoreAdminRequest.Create();
> createRequest.setCoreName(collection);
> createRequest.setCollection(collection);
> createRequest.setInstanceDir(collection);
> createRequest.setNumShards(1);
> createRequest.process(server);
>
> It is timing out with this exception (from the solr.out logs):
>
> SEVERE: org.apache.solr.common.SolrException: Error CREATEing SolrCore 'profile-2': Could not get shard_id for core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2
> at org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:483)
> at org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:140)
> at org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:135)
> at org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:591)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:192)
> at org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:141)
> ...
> Caused by: org.apache.solr.common.SolrException: Could not get shard_id for core: profile-2 coreNodeName:192.168.1.152:8983_solr_profile-2
> at org.apache.solr.cloud.ZkController.doGetShardIdProcess(ZkController.java:1221)
> at org.apache.solr.cloud.ZkController.preRegister(ZkController.java:1290)
> at org.apache.solr.core.CoreContainer.registerCore(CoreContainer.java:861)
>
> In a "development" environment the zookeeper/solr instances are running with elevated permissions and this function worked without error.
> In a "test" environment (which matches the "production" environment) the permissions are more restricted. I made sure the group/owner of the /usr/local/solr directory are set up to be the correct user.
This is happening because you never set the shard ID. See the "Caused
by" message above. There is a setShardID method on the class that you
are using. I believe this would typically get something like "shard1"
as a value.
The user that runs Solr must typically have write permissions to the
solr home and all of its descendants.
Note that with the CoreAdminRequest class, you are not creating a
collection. You are creating a core. If you want to create an entire
collection (which will typically create at least two cores on different
Solr instances), you need to use CollectionAdminRequest instead.
https://lucene.apache.org/solr/4_8_0/solr-solrj/org/apache/solr/client/solrj/request/CollectionAdminRequest.Create.html
http://wiki.apache.org/solr/SolrTerminology
Thanks,
Shawn