Why are you adding the /solr to the -z parameter when you start Solr? You
never specify it for upconfig/downconfig and the like.

Of course I'm almost always in dev and have only a single ZK running.
And when I just
tried adding /solr the results were a completely useless admin screen
that hung there. So
I'm not entirely sure what's going on.

My suspicion is that your ZK configs are a mish-mash of starting with
the /solr and bare
ZK strings and thus is hard to untangle at this point. So here's what I'd do:

> Stop all your Zk instances and completely blow away the configs. These are 
> usually in
/var/zookeeper

> make sure your Solr nodes are clean. By "clean" here I mean you don't have any
cores under server/solr. You probably don't, but I'd check.

> try your operations again without the /solr.

Of course you could just restart solr without the /solr on the -z
parameter for a quick
test, but even if that works I'd still blow away the ZK data just to
have a clean slate.

Best,
Erick

On Tue, Dec 1, 2015 at 6:29 PM, Kelly, Frank <frank.ke...@here.com> wrote:
> Thanks Erick,
>
> Yes I start Solr as follows
>
> $ ./bin/solr start -cloud -z
> 54.XX.XX.84:2181,54.XX.XX.124:2181,54.XX.XX.254:2181/solr -h 52.XX.XX.13
>
>
> And confirmed those are the ZooKeeper nodes in question.
>
> Good idea on the downconfig and I confirmed it is working e.g.
>
> $  ./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -confdir
> ./server/solr/configsets/scbe_public7_config -confname testForErick2 -z
> 54.XX.XX.124:2181
> $ ./server/scripts/cloud-scripts/zkcli.sh -cmd downconfig -confdir
> /tmp/erick2 -confname testForErick2 -z 54.XX.XX.84:2181
> $ ls -1 /tmp/erick2
> currency.xml
> lang
> protwords.txt
> _rest_managed.json
> schema.xml
> solrconfig.xml
> stopwords.txt
> synonyms.txt
>
> So this is telling me ZooKeeper is at least storing the configuration but
> something with Solr/Zk is awry.
>
> Cheers!
>
>
> -Frank
>
>
>
>
>
> On 12/1/15, 9:01 PM, "Erick Erickson" <erickerick...@gmail.com> wrote:
>
>>bq: I have tried upconfig to all three ZooKeeper nodes (1 leader, 2
>>followers)
>>and they seem to work but when I look at cloud/tree it doesn’t make a
>>difference.
>>
>>That doesn't answer how you start _Solr_. My question earlier was trying
>>to insure that your Solr instance points at the same zookeeper ensemble
>>as you hit when you upconfig.
>>
>>You should also be able to "downconfig" from the client and get a fresh
>>copy
>>from ZK to a new local directory to insure that it's really up in ZK.
>>
>>Best,
>>Erick
>>
>>On Tue, Dec 1, 2015 at 5:21 PM, Manikandan Sivanesan
>><msiva...@redhat.com> wrote:
>>> And one more thing I noticed you are specifying your ensemble as
>>> zk.zk.zk.zk:2181 . But it should be of the form
>>>*zk1:port,zk2:port,zk3:port
>>> *.
>>>
>>> On Tue, Dec 1, 2015 at 8:12 PM, Manikandan Sivanesan
>>><msiva...@redhat.com>
>>> wrote:
>>>
>>>>
>>>> Try with the conf directory in place with schema.xml & solrconfig.xml
>>>> inside conf.  You should see the files being uploaded
>>>>
>>>> ./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -confdir
>>>> *./server/solr/configsets/scbe_**public7_config/conf* -confname
>>>> scbe_public7 -z zk.zk.zk.zk:2181
>>>>
>>>> This is how I do
>>>> zkcli.sh  -zkhost $ZK_ENSEMBLE -cmd upconfig -confdir /tmp/access/conf
>>>> -confname  access
>>>>
>>>> You can verify if you have properly uploaded the config to either by
>>>> Upayvira's suggestion or using ./zkcli.sh Eg :
>>>> https://gist.github.com/manisnesan/52ffc84dd761365e0c22
>>>>
>>>>
>>>>
>>>> On Tue, Dec 1, 2015 at 5:22 PM, Kelly, Frank <frank.ke...@here.com>
>>>>wrote:
>>>>
>>>>> So I have an ensemble of three Zk nodes running
>>>>>
>>>>> I have tried upconfig to all three ZooKeeper nodes (1 leader, 2
>>>>>followers)
>>>>> and they seem to work but when I look at cloud/tree it doesn’t make a
>>>>> difference.
>>>>> I tried switching browsers to avoid the potential browser caching
>>>>>issue
>>>>> and still no dice.
>>>>>
>>>>>
>>>>> The only thing I can think of is that “mycollection” which I *can*
>>>>>see is
>>>>> a Managed Schema - does having one ManagedSchema in ZooKeeper/Solr
>>>>> prevent Classic schema.xml based configurations from being configured
>>>>>-
>>>>> even if they are to be used by different indexes?
>>>>>
>>>>> I.e. Is the following possible
>>>>> config1 -> classic schema (schema.xml)
>>>>> config2 -> managed schema
>>>>>
>>>>> collection1 uses config1 (managed by schema.xml)
>>>>> collection2 uses config2 (managed by REST API)
>>>>>
>>>>> Best,
>>>>>
>>>>> -Frank
>>>>>
>>>>>
>>>>> Frank Kelly
>>>>> Principal Software Engineer
>>>>> Predictive Analytics Team (SCBE/HAC/CDA)
>>>>>
>>>>> Email: f <mailto:frank.ke...@here.com>r
>>>>> <mailto:frank.ke...@here.com>ank.ke...@here.com
>>>>> <mailto:frank.ke...@here.com>
>>>>> Website: http://www.here.com <http://www.here.com/>
>>>>>
>>>>> 5 Wayside Rd, Burlington, MA 01803, USA
>>>>> Here, a Nokia business
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> On 12/1/15, 5:10 PM, "Erick Erickson" <erickerick...@gmail.com> wrote:
>>>>>
>>>>> >You shouldn't have to do the linkconfig to see the configs in the ZK
>>>>> >tree, and it should appear virtually instantaneously. A couple of
>>>>> >possibilities:
>>>>> >
>>>>> >1> your browser is caching the view somehow (unlikely).
>>>>> >2> your Solr instance isn't pointing to the same ZK your upconfig
>>>>> >command is pointing to. This is easy to do if you start your Solr
>>>>>with
>>>>> >the bin scripts like 'bin/solr -c' start as that invokes the embedded
>>>>> >zookeeper, not the external ensemble, you have to use the -z option
>>>>> >for that (the -c option is unnecessary if you specify -z)
>>>>> >
>>>>> >And the first form of your CREATE command is what's required, i.e.
>>>>> >"collection.configName=scbe_public7"
>>>>> >not
>>>>> >"collection.configName=/configs/scbe_public7"
>>>>> >
>>>>> >Don't worry about the linkconfig, create or anything else until you
>>>>> >can see your configs in the tree view.
>>>>> >
>>>>> >Best,
>>>>> >Erick
>>>>> >
>>>>> >On Tue, Dec 1, 2015 at 1:53 PM, Kelly, Frank <frank.ke...@here.com>
>>>>> wrote:
>>>>> >> Thanks - the only thing under cloud/tree tab for /configs is
>>>>> >>mycollection
>>>>> >>
>>>>> >> But I am pretty sure my zookeeper config upload is working fine
>>>>> >>
>>>>> >> ./server/scripts/cloud-scripts/zkcli.sh -cmd upconfig -confdir
>>>>> >> ./server/solr/configsets/scbe_public7_config -confname
>>>>>scbe_public7 -z
>>>>> >> zk.zk.zk.zk:2181
>>>>> >> ./server/scripts/cloud-scripts/zkcli.sh -cmd linkconfig -collection
>>>>> >> scbe_public7 -confname scbe_public7 -z zk.zk.zk.zk:2181
>>>>> >>
>>>>> >> At least no errors were reported . . .
>>>>> >>
>>>>> >> I just re-ran the same commands and gave it a few minutes but I
>>>>>still
>>>>> >> don¹t see the ³scbe_public7² config under /configs?
>>>>> >>
>>>>> >> -Frank
>>>>> >>
>>>>> >>
>>>>> >> On 12/1/15, 4:16 PM, "Upayavira" <u...@odoko.co.uk> wrote:
>>>>> >>
>>>>> >>>Check via the admin UI - cloud/tree tab. Check inside the config
>>>>> >>>directory that you are attempting to use to see if there is a
>>>>> >>>solrconfig.xml and a schema file. I've sometimes uploaded it such
>>>>>that
>>>>> >>>there's a conf directory inside - i.e. one layer too deep.
>>>>> >>>
>>>>> >>>This is gonna be something trivial, I bet you!
>>>>> >>>
>>>>> >>>Upayavira
>>>>> >>>
>>>>> >>>On Tue, Dec 1, 2015, at 08:04 PM, Kelly, Frank wrote:
>>>>> >>>> Context: Solr 5.3.1 with ZooKeeper 3.4.6 (SolrCloud)
>>>>> >>>>
>>>>> >>>> Via the REST APU I am trying to create a collection  and tie it
>>>>>to a
>>>>> >>>> configuration I have loaded into ZooKeeper
>>>>> >>>>
>>>>> >>>> Here are the configs loaded into ZooKeeper
>>>>> >>>>
>>>>> >>>> [zk: localhost:2181(CONNECTED) 5] ls /configs
>>>>> >>>> [scbe_public7, mycollection, scbe_public_conf]
>>>>> >>>>
>>>>> >>>> Here is my Curl command with scbe_public7 as the configName
>>>>> >>>>
>>>>> >>>> $ curl -X -v
>>>>> >>>>
>>>>> >>>>"
>>>>> http://XX.XX.XX.XX:8983/solr/admin/collections?action=CREATE&name=tmp2
>>>>> >>>>&n
>>>>>
>>>>>
>>>>>>>>>umShards=3&replicationFactor=2&maxShardsPerNode=1&collection.config
>>>>>>>>>Name
>>>>> >>>>=s
>>>>> >>>>cbe_public7"
>>>>> >>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> >>>> <response>
>>>>> >>>> <lst name="responseHeader"><int name="status">400</int><int
>>>>> >>>> name="QTime">28</int></lst><str name="Operation create caused
>>>>> >>>>
>>>>>
>>>>>
>>>>>>>>>exception:">org.apache.solr.common.SolrException:org.apache.solr.co
>>>>>>>>>mmon
>>>>> >>>>.S
>>>>> >>>>olrException:
>>>>> >>>> Can not find the specified config set: scbe_public7</str><lst
>>>>> >>>> name="exception"><str name="msg">Can not find the specified
>>>>>config
>>>>> >>>>set:
>>>>> >>>> scbe_public7</str><int name="rspCode">400</int></lst><lst
>>>>> >>>> name="error"><str name="msg">Can not find the specified config
>>>>>set:
>>>>> >>>> scbe_public7</str><int name="code">400</int></lst>
>>>>> >>>> </response>
>>>>> >>>>
>>>>> >>>> And if I try the following I get
>>>>> >>>>
>>>>> >>>> $ curl -X -v
>>>>> >>>>
>>>>> >>>>"
>>>>> http://XX.XX.XX.XX:8983/solr/admin/collections?action=CREATE&name=tmp2
>>>>> >>>>&n
>>>>>
>>>>>
>>>>>>>>>umShards=3&replicationFactor=2&maxShardsPerNode=1&collection.config
>>>>>>>>>Name
>>>>> >>>>=/
>>>>> >>>>configs/scbe_public7"
>>>>> >>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> >>>> <response>
>>>>> >>>> <lst name="responseHeader"><int name="status">500</int><int
>>>>> >>>> name="QTime">29</int></lst><str name="Operation create caused
>>>>> >>>>
>>>>>
>>>>>
>>>>>>>>>exception:">java.lang.IllegalArgumentException:java.lang.IllegalArg
>>>>>>>>>umen
>>>>> >>>>tE
>>>>> >>>>xception:
>>>>> >>>> Invalid path string "/configs//configs/scbe_public7" caused by
>>>>>empty
>>>>> >>>>node
>>>>> >>>> name specified @9</str><lst name="exception"><str
>>>>>name="msg">Invalid
>>>>> >>>>path
>>>>> >>>> string "/configs//configs/scbe_public7" caused by empty node name
>>>>> >>>> specified @9</str><int name="rspCode">-1</int></lst><lst
>>>>> >>>> name="error"><str name="msg">Invalid path string
>>>>> >>>> "/configs//configs/scbe_public7" caused by empty node name
>>>>>specified
>>>>> >>>> @9</str><str name="trace">org.apache.solr.common.SolrException:
>>>>> >>>>Invalid
>>>>> >>>> path string "/configs//configs/scbe_public7" caused by empty node
>>>>> name
>>>>> >>>> specified
>>>>> >>>>
>>>>> >>>> Interestingly it will let me create WITHOUT specifying the config
>>>>> >>>>
>>>>> >>>>  curl -X -v
>>>>> >>>>
>>>>> >>>>"
>>>>> http://XX.XX.XX.XX:8983/solr/admin/collections?action=CREATE&name=tmp2
>>>>> >>>>&n
>>>>> >>>>umShards=3&replicationFactor=2&maxShardsPerNode=1"
>>>>> >>>> <?xml version="1.0" encoding="UTF-8"?>
>>>>> >>>> <response>
>>>>> >>>> <lst name="responseHeader"><int name="status">0</int><int
>>>>> >>>> name="QTime">2699</int></lst><lst name="success"><lst><lst
>>>>> >>>> name="responseHeader"><int name="status">0</int><int
>>>>> >>>> name="QTime">2042</int></lst><str
>>>>> >>>> name="core">tmp2_shard3_replica1</str></lst><lst><lst
>>>>> >>>> name="responseHeader"><int name="status">0</int><int
>>>>> >>>> name="QTime">2066</int></lst><str
>>>>> >>>> name="core">tmp2_shard1_replica1</str></lst><lst><lst
>>>>> >>>> name="responseHeader"><int name="status">0</int><int
>>>>> >>>> name="QTime">2088</int></lst><str
>>>>> >>>> name="core">tmp2_shard2_replica2</str></lst><lst><lst
>>>>> >>>> name="responseHeader"><int name="status">0</int><int
>>>>> >>>> name="QTime">2485</int></lst><str
>>>>> >>>> name="core">tmp2_shard3_replica2</str></lst><lst><lst
>>>>> >>>> name="responseHeader"><int name="status">0</int><int
>>>>> >>>> name="QTime">2531</int></lst><str
>>>>> >>>> name="core">tmp2_shard1_replica2</str></lst><lst><lst
>>>>> >>>> name="responseHeader"><int name="status">0</int><int
>>>>> >>>> name="QTime">2554</int></lst><str
>>>>> >>>> name="core">tmp2_shard2_replica1</str></lst></lst>
>>>>> >>>> </response>
>>>>> >>>>
>>>>> >>>> And it will be tied to (from CLUSTERSTATUS)
>>>>> >>>> "configName": "mycollection"
>>>>> >>>>
>>>>> >>>> This does not match the Documentation which states
>>>>> >>>>
>>>>> >>>>
>>>>>
>>>>>https://cwiki.apache.org/confluence/display/solr/Collections+API#Collec
>>>>> >>>>ti
>>>>> >>>>onsAPI-api1
>>>>> >>>>
>>>>> >>>> collection.configName "Defines the name of the configurations
>>>>>(which
>>>>> >>>>must
>>>>> >>>> already be stored in ZooKeeper) to use for this collection. If
>>>>>not
>>>>> >>>> provided, Solr will default to the collection name as the
>>>>> >>>>configuration
>>>>> >>>> name.²
>>>>> >>>>
>>>>> >>>> So I am confused on two things
>>>>> >>>>
>>>>> >>>>   1.  Why doesn¹t Solr see the ZooKeeper config I specified (or
>>>>> >>>>   alternatively, is my syntax for the configName incorrect?)
>>>>> >>>>   2.  When the config is not specified why does it default to
>>>>> >>>>   ³mycollection" and not to the collection name (and thus cause
>>>>>an
>>>>> >>>>error
>>>>> >>>>   because ¹tmp2¹ is not a config )
>>>>> >>>>
>>>>> >>>> Thanks!
>>>>> >>>>
>>>>> >>>> -Frank
>>>>> >>>>
>>>>> >>>> Frank Kelly
>>>>> >>>> Principal Software Engineer
>>>>> >>>> Predictive Analytics Team (SCBE/HAC/CDA)
>>>>> >>>>
>>>>> >>>>
>>>>> >>>>
>>>>> >>>>
>>>>> >>>> Email:
>>>>> >>>>
>>>>> >>>>f<mailto:frank.ke...@here.com>r<mailto:frank.ke...@here.com
>>>>> >ank.kelly@h
>>>>> >>>>er
>>>>> >>>>e.com<mailto:frank.ke...@here.com>
>>>>> >>>> Website: http://www.here.com<http://www.here.com/>
>>>>> >>>>
>>>>> >>>>
>>>>> >>>>
>>>>> >>>>
>>>>> >>>> 5 Wayside Rd, Burlington, MA 01803, USA
>>>>> >>>> Here, a Nokia business
>>>>> >>>>
>>>>> >>>>
>>>>> >>>>
>>>>> >>>>
>>>>> >>>>
>>>>> >>
>>>>>
>>>>>
>>>>
>

Reply via email to