Yeah, if you want to use a new config set when you dynamically create a new collection, you must first upload the new config set. It's pretty easy using the cloud-scripts/zkcli.sh|bat scripts.
If someone likes the idea of being able to point to a new config set to upload when using the collections api - basically work the two steps into one call - I'd recommend a JIRA issue so we don't forget to look at this. - Mark On Nov 9, 2012, at 3:57 PM, Carlos Alexandro Becker <caarl...@gmail.com> wrote: > Hm, OK, now I just leave my work, next week I'll try to do what you say and > give you a feedback. > Meanwhile, thank you very much for your help. > > > On Fri, Nov 9, 2012 at 6:30 PM, Tomás Fernández Löbbe <tomasflo...@gmail.com >> wrote: > >> I thought it was possible to upload a new configuration when creating a new >> collection through the Collections API, but it looks like the CREATE action >> only takes: >> replicationFactor >> name >> collection.configName >> numShards >> >> I think this means that you'll have to use an existing configuration >> (already uploaded to zk) and reference to it in the "collection.configName" >> parameter. >> >> One extra note, make sure you clean your zk data, because on the stacktrace >> you sent, it looks like the collection '2' was created prior to this call >> and it already exists in zk. >> >> Tomás >> >> >> On Fri, Nov 9, 2012 at 4:39 PM, Carlos Alexandro Becker >> <caarl...@gmail.com>wrote: >> >>> Hi, about the port, that's my mistake, I have the wrong port specified in >>> solr.xml. >>> >>> But, now, I got the following error: >>> >>> >>> 17:37:10,358 WARN >>> [com.datasul.technology.webdesk.indexer.engine.IndexerSearchEngine] >>> (http--0.0.0.0-8080-6) Fail uptading indexer synonyms/stopwords list. >>> 17:37:10,378 INFO [org.apache.solr.core.CoreContainer] >>> (http--0.0.0.0-8080-8) Creating SolrCore '2' using instanceDir: ../solr/. >>> 17:37:10,378 INFO [org.apache.solr.cloud.ZkController] >>> (http--0.0.0.0-8080-8) Check for collection zkNode:2 >>> 17:37:10,379 INFO [org.apache.solr.cloud.ZkController] >>> (http--0.0.0.0-8080-8) Collection zkNode exists >>> 17:37:10,379 INFO [org.apache.solr.cloud.ZkController] >>> (http--0.0.0.0-8080-8) Load collection config from:/collections/2 >>> 17:37:10,380 INFO [org.apache.solr.core.SolrResourceLoader] >>> (http--0.0.0.0-8080-8) new SolrResourceLoader for directory: '../solr/./' >>> 17:37:10,446 ERROR [org.apache.solr.core.CoreContainer] >>> (http--0.0.0.0-8080-8) : >>> org.apache.zookeeper.KeeperException$NoNodeException: KeeperErrorCode = >>> NoNode for /configs/collection1/solrconfig.xml >>> at org.apache.zookeeper.KeeperException.create(KeeperException.java:102) >>> [zookeeper-3.3.6.jar:3.3.6-1366786] >>> at org.apache.zookeeper.KeeperException.create(KeeperException.java:42) >>> [zookeeper-3.3.6.jar:3.3.6-1366786] >>> at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:927) >>> [zookeeper-3.3.6.jar:3.3.6-1366786] >>> at >>> >> org.apache.solr.common.cloud.SolrZkClient$7.execute(SolrZkClient.java:244) >>> [apache-solr-solrj-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:56] >>> at >>> >> org.apache.solr.common.cloud.SolrZkClient$7.execute(SolrZkClient.java:241) >>> [apache-solr-solrj-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:56] >>> at >>> >>> >> org.apache.solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:63) >>> [apache-solr-solrj-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:56] >>> at >>> org.apache.solr.common.cloud.SolrZkClient.getData(SolrZkClient.java:241) >>> [apache-solr-solrj-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:56] >>> at >>> >> org.apache.solr.cloud.ZkController.getConfigFileData(ZkController.java:344) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.core.CoreContainer.getSolrConfigFromZk(CoreContainer.java:1427) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at org.apache.solr.core.CoreContainer.create(CoreContainer.java:789) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:516) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:142) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:372) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:181) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) >>> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] >>> at >>> >>> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:397) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) >>> [jbossweb-7.0.13.Final.jar:] >>> at >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) >>> [jbossweb-7.0.13.Final.jar:] >>> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_05] >>> >>> 17:37:10,451 ERROR [org.apache.solr.core.CoreContainer] >>> (http--0.0.0.0-8080-8) Unable to create core: 2: >>> org.apache.solr.common.cloud.ZooKeeperException: >>> at org.apache.solr.core.CoreContainer.create(CoreContainer.java:792) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.handler.admin.CoreAdminHandler.handleCreateAction(CoreAdminHandler.java:516) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.handler.admin.CoreAdminHandler.handleRequestBody(CoreAdminHandler.java:142) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.handler.RequestHandlerBase.handleRequest(RequestHandlerBase.java:129) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.servlet.SolrDispatchFilter.handleAdminRequest(SolrDispatchFilter.java:372) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.servlet.SolrDispatchFilter.doFilter(SolrDispatchFilter.java:181) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153) >>> [jboss-as-web-7.1.1.Final.jar:7.1.1.Final] >>> at >>> >>> >> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:397) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) >>> [jbossweb-7.0.13.Final.jar:] >>> at >>> >>> >> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) >>> [jbossweb-7.0.13.Final.jar:] >>> at >> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) >>> [jbossweb-7.0.13.Final.jar:] >>> at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_05] >>> Caused by: org.apache.zookeeper.KeeperException$NoNodeException: >>> KeeperErrorCode = NoNode for /configs/collection1/solrconfig.xml >>> at org.apache.zookeeper.KeeperException.create(KeeperException.java:102) >>> [zookeeper-3.3.6.jar:3.3.6-1366786] >>> at org.apache.zookeeper.KeeperException.create(KeeperException.java:42) >>> [zookeeper-3.3.6.jar:3.3.6-1366786] >>> at org.apache.zookeeper.ZooKeeper.getData(ZooKeeper.java:927) >>> [zookeeper-3.3.6.jar:3.3.6-1366786] >>> at >>> >> org.apache.solr.common.cloud.SolrZkClient$7.execute(SolrZkClient.java:244) >>> [apache-solr-solrj-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:56] >>> at >>> >> org.apache.solr.common.cloud.SolrZkClient$7.execute(SolrZkClient.java:241) >>> [apache-solr-solrj-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:56] >>> at >>> >>> >> org.apache.solr.common.cloud.ZkCmdExecutor.retryOperation(ZkCmdExecutor.java:63) >>> [apache-solr-solrj-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:56] >>> at >>> org.apache.solr.common.cloud.SolrZkClient.getData(SolrZkClient.java:241) >>> [apache-solr-solrj-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:56] >>> at >>> >> org.apache.solr.cloud.ZkController.getConfigFileData(ZkController.java:344) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at >>> >>> >> org.apache.solr.core.CoreContainer.getSolrConfigFromZk(CoreContainer.java:1427) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> at org.apache.solr.core.CoreContainer.create(CoreContainer.java:789) >>> [apache-solr-core-4.0.0.jar:4.0.0 1394950 - rmuir - 2012-10-06 03:05:55] >>> ... 19 more >>> >>> >>> Thanks in advance. >>> >>> >>> On Fri, Nov 9, 2012 at 5:34 PM, Tomás Fernández Löbbe < >>> tomasflo...@gmail.com >>>> wrote: >>> >>>> Also, JBoss AS uses Tomcat, rigth? you may want to look at Mark >> Miller's >>>> comments here: >>>> >>>> >>> >> http://mail-archives.apache.org/mod_mbox/lucene-solr-user/201210.mbox/%3ccabcj++j+am6e0ghmm+hpzak5d0exrqhyxaxla6uutw1yqae...@mail.gmail.com%3E >>>> >>>> >>>> On Fri, Nov 9, 2012 at 4:30 PM, Tomás Fernández Löbbe < >>>> tomasflo...@gmail.com >>>>> wrote: >>>> >>>>> Do you have a stacktrace of the error you are getting? When Zookeeper >>>> runs >>>>> embedded (when you are using -DzkRun), it runs on [solr port]+1000. >> In >>>> the >>>>> example Jetty, Solr runs at 8983, and so zk runs at 9983, in your >> case >>> it >>>>> should be using 9080. >>>>> Which Solr instance is the one that can't connect to ZK? how many >> JBoss >>>> AS >>>>> are you running? >>>>> >>>>> >>>>> >>>>> >>>>> On Fri, Nov 9, 2012 at 4:14 PM, Carlos Alexandro Becker < >>>>> caarl...@gmail.com> wrote: >>>>> >>>>>> Hi Thomás, thanks for your help. >>>>>> >>>>>> I change the start cmd to: >>>>>> JAVA_OPTS="-DzkRun -DnumShards=2 -Dbootstrap_conf=true -Xmx2048m >>>>>> -XX:MaxPermSize=512m" ./standalone.sh >>>>>> >>>>>> Then, I tried to add a new core like this: >>>>>> >>>>>> >>>>>> >>>> >>> >> http://localhost:8080/ecm-indexer/admin/collections?action=CREATE&name=2&numShards=2 >>>>>> &bootstrap_conf=true< >>>> >>> >> http://localhost:8080/ecm-indexer/admin/collections?action=CREATE&name=2&numShards=2&bootstrap_conf=true >>>>> >>>>>> < >>>>>> >>>> >>> >> http://localhost:8983/solr/admin/collections?action=CREATE&name=mycollection&numShards=X&bootstrap_conf=true >>>>>>> >>>>>> >>>>>> But, looks like the Zookeeper dont get up, because solr can't >> connect >>> on >>>>>> port 8983. I inspected it with fuser, and is no process running in >>> this >>>>>> port at all. >>>>>> >>>>>> >>>>>> Do I have to add an extra thing to my pom.xml, or something? >>>>>> >>>>>> Thanks in advance. >>>>>> >>>>>> >>>>>> >>>>>> On Fri, Nov 9, 2012 at 4:23 PM, Tomás Fernández Löbbe < >>>>>> tomasflo...@gmail.com >>>>>>> wrote: >>>>>> >>>>>>> I think you have to use either bootstrap_conf=true or >>>>>>> "bootstrap_confdir=/path/to/conf"+"collection.configName=foo" (not >>>> both >>>>>> at >>>>>>> the same time). If you use the first one, Solr will upload the >>>>>>> configuration for all the cores that you have configured (with the >>>> name >>>>>> of >>>>>>> the core as name of the configuration). When you create a new >>>>>> collection, >>>>>>> you'll have to either upload the configuration again to a >> different >>>>>>> directory, or use one of the existing configurations. >>>>>>> See >>>>>>> >>>>>>> >>>>>> >>>> >>> >> http://wiki.apache.org/solr/SolrCloud#Getting_your_Configuration_Files_into_ZooKeeperand >>>>>>> >>>>>>> >>>>>> >>>> >>> >> http://wiki.apache.org/solr/SolrCloud#Managing_collections_via_the_Collections_API >>>>>>> >>>>>>> If all your collections are going to use the same confguration, I >>>> would >>>>>>> use: >>>>>>> first bootstrap_confdir=../solr/conf and >>> collection.configName=myconf >>>>>>> and then for every new collection use the command: >>>>>>> >>>>>>> >>>>>> >>>> >>> >> http://localhost:8983/solr/admin/collections?action=CREATE&name=mycollection&numShards=X&collection.configName=myconf >>>>>>> >>>>>>> In the other case, you can omit the configName parameter (the >>>> collection >>>>>>> name will be used) and when you create a collection you do it >> like: >>>>>>> >>>>>>> >>>>>>> >>>>>> >>>> >>> >> http://localhost:8983/solr/admin/collections?action=CREATE&name=mycollection&numShards=X&bootstrap_conf=true >>>>>>> >>>>>>> >>>>>>> Tomás >>>>>>> >>>>>>> >>>>>>> On Fri, Nov 9, 2012 at 2:16 PM, Carlos Alexandro Becker >>>>>>> <caarl...@gmail.com>wrote: >>>>>>> >>>>>>>> Actually, I want to use it with multiple cores, and my app >>>> dinamically >>>>>>> add >>>>>>>> cores to solr. >>>>>>>> So, my solr.xml looks like this: >>>>>>>> >>>>>>>> <?xml version="1.0" encoding="UTF-8" ?> >>>>>>>> <solr persistent="false"> >>>>>>>> <cores defaultCoreName="collection1" >>>>>>>> adminPath="/admin/cores" >>>>>>>> zkClientTimeout="${zkClientTimeout:15000}" >>>>>>>> hostPort="8983" >>>>>>>> hostContext="solr"> >>>>>>>> <core instanceDir="." name="collection1"/> >>>>>>>> </cores> >>>>>>>> </solr> >>>>>>>> >>>>>>>> so, my solr.home is jboss.home/solr, which is represented by the >>> dot >>>>>> in >>>>>>>> instanceDir setting. >>>>>>>> >>>>>>>> My solr.home has the following files: >>>>>>>> >>>>>>>> conf/ >>>>>>>> -----stopwords.txt >>>>>>>> -----synonyms.txt >>>>>>>> data/ >>>>>>>> ----inde/ (etc..) >>>>>>>> solr.xml >>>>>>>> zoo.cfg >>>>>>>> >>>>>>>> >>>>>>>> zoo.cfg is the default of the solrcloud example. >>>>>>>> >>>>>>>> >>>>>>>> THanks in advance. >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> On Fri, Nov 9, 2012 at 3:09 PM, Tomás Fernández Löbbe < >>>>>>>> tomasflo...@gmail.com >>>>>>>>> wrote: >>>>>>>> >>>>>>>>> Are you sure you are pointing to the correct conf directory? >>>> sounds >>>>>>> like >>>>>>>>> you are missing the collection name in the path (maybe it >> should >>>> be >>>>>>>>> ../solr/YOURCOLLECTIONNAME/conf?) >>>>>>>>> >>>>>>>>> >>>>>>>>> On Fri, Nov 9, 2012 at 1:58 PM, Carlos Alexandro Becker >>>>>>>>> <caarl...@gmail.com>wrote: >>>>>>>>> >>>>>>>>>> I started my JBoss server with the following command: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> JAVA_OPTS="-DzkRun -DnumShards=2 -Dbootstrap_conf=true >>>>>>>>>> -Dbootstrap_confdir=../solr/conf -Xmx2048m >>> -XX:MaxPermSize=512m" >>>>>>>>>> ./standalone.sh >>>>>>>>>> >>>>>>>>>> OK, server goes up, then I tried to search for something, >> and >>>> got >>>>>> the >>>>>>>>>> following error: >>>>>>>>>> >>>>>>>>>> 10:47:28,594 ERROR [org.apache.solr.core.CoreContainer] (MSC >>>>>> service >>>>>>>>> thread >>>>>>>>>> 1-6) : org.apache.zookeeper.KeeperException$NoNodeException: >>>>>>>>>> KeeperErrorCode = NoNode for /configs/ecm/solrconfig.xml >>>>>>>>>> >>>>>>>>>> What am I missing? >>>>>>>>>> >>>>>>>>>> Thanks in advance. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> -- >>>>>>>>>> Atenciosamente, >>>>>>>>>> *Carlos Alexandro Becker* >>>>>>>>>> http://caarlos0.github.com/about >>>>>>>>>> >>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> Atenciosamente, >>>>>>>> *Carlos Alexandro Becker* >>>>>>>> http://caarlos0.github.com/about >>>>>>>> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Atenciosamente, >>>>>> *Carlos Alexandro Becker* >>>>>> http://caarlos0.github.com/about >>>>>> >>>>> >>>>> >>>> >>> >>> >>> >>> -- >>> Atenciosamente, >>> *Carlos Alexandro Becker* >>> http://caarlos0.github.com/about >>> >> > > > > -- > Atenciosamente, > *Carlos Alexandro Becker* > http://caarlos0.github.com/about